数据库多行转换为单一列

数据库多行转换为单一列数据库存储与实际显示需求不一样时,我们得写SQL来实现数据呈现: 如: 先来看看数据表: CREATE TABLE [dbo].[Expenses] ( [Date] DATE, [Descripti

数据库多行转换为单一列

数据库存储与实际显示需求不一样时,我们得写SQL来实现数据呈现:

如:

数据库多行转换为单一列

 

先来看看数据表:

数据库多行转换为单一列

 

数据库多行转换为单一列

CREATE TABLE [dbo].[Expenses]
(
    [Date] DATE,
    [Description] NVARCHAR(40),
    [Charge] DECIMAL(18,2)
)
GO

代码100分

Source Code

 

然后,我们为表填充一些数据,比如春节购买开支:

数据库多行转换为单一列

 

数据库多行转换为单一列

代码100分INSERT INTO [dbo].[Expenses] ([Date],[Description],[Charge]) VALUES 
("2020-01-22",N"鱿鱼",305.40),
("2020-01-22",N"猪肉",110.60),
("2020-01-22",N"青菜",36.90),
("2020-01-22",N"",30.00),
("2020-01-22",N"",75.00),

("2020-01-23",N"鱿鱼",200.40),
("2020-01-23",N"猪肉",50.00),
("2020-01-23",N"青菜",14.30),
("2020-01-23",N"",30.00),
("2020-01-23",N"",20.00),

("2020-01-24",N"鱿鱼",460.00),
("2020-01-24",N"猪肉",200.00),
("2020-01-24",N"青菜",90.00),
("2020-01-24",N"",50.00),
("2020-01-24",N"",300.00)

GO

Source Code

 

所有数据准备完毕,现在写SQL来实现此功能:

数据库多行转换为单一列

 

数据库多行转换为单一列

SELECT E1.[Date],E1.[Charge] AS N"鱿鱼",E2.[Charge] AS N"猪肉",E3.[Charge] AS N"青菜",E4.[Charge] AS N"", E5.[Charge] AS N""  FROM
[dbo].[Expenses] AS E1,[dbo].[Expenses] AS E2,[dbo].[Expenses] AS E3,[dbo].[Expenses] AS E4,[dbo].[Expenses] AS E5
WHERE E1.[Date] = E2.[Date] AND E2.[Date] = E3.[Date] AND E3.[Date] = E4.[Date] AND E4.[Date] = E5.[Date]
AND E1.[Description] = N"鱿鱼" AND E2.[Description] = N"猪肉" AND E3.[Description] = N"青菜" AND E4.[Description] = N"" AND E5.[Description] = N""  
GO

Source Code

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9920.html

(0)
上一篇 2023-01-29
下一篇 2023-01-29

相关推荐

  • python中迭代器详解(python的迭代器)

    python中迭代器详解(python的迭代器) 一种自动迭代的更优雅的实现是使用 for循环

    2023-10-26
    136
  • Spyderdebug是什么?

    Spyderdebug是什么?Spyderdebug是一种Spyder IDE的插件,它可以提高Python代码的可调试性。在Spyderdebug的帮助下,开发者可以更容易地理解代码在运行时的行为和状态,并可以更快速地诊断问题。Spyderdebug整合了Python的pdb(Python调试器)和Qt界面,使得开发者可以在Spyder IDE自身干净整洁的界面下完成源代码的编辑、调试和数据观察。

    2024-09-17
    25
  • 学习Oracle的历程 (一)

    学习Oracle的历程 (一)一 . Oracle 简介 功能强大、性能卓越 Oracle数据库思想的诞生是在IBM公司。 上世纪60年代-70年代–IBM的一款数据库IMS,98%+ 二. Oracle 10g 安装包 链接…

    2023-03-03
    143
  • 2020python练习——表的关系

    2020python练习——表的关系@2020.5.5 练习:账号信息表,用户组,主机表,主机组

    2023-02-25
    166
  • 开源hadoop系统搭建_hadoop技术

    开源hadoop系统搭建_hadoop技术一、直播介绍 上期雅泽同学对ChengYing是什么、有什么样的功能特性,如何快速入门做了介绍,本期海洋同学将会为大家分享ChengYing部署Hadoop集群实战的相关内容,欢迎大家积极参与。 二、

    2023-05-29
    139
  • 探究Python编程中的对象

    探究Python编程中的对象在Python编程中,对象(Object)是非常重要的概念。在Python中,所有的数据类型都是以对象的形式存在,每一个对象都具有唯一的标识符(id)、类型(type)和值(value),并且都可以被赋值给一个或多个变量。

    2024-04-07
    81
  • MySQL中InnoDB和MyISAM引擎的对比

    MySQL中InnoDB和MyISAM引擎的对比目录 索引对比 锁对比 事务对比 并发 全文索引对比 外键 其他 一.索引对比 1.B+树概念 我们这里关注B+树的两个特性: 1. 叶子节点包含数据data(data并不特指数据库中的某一行数据,也

    2023-02-07
    157
  • Apache Solr入门教程(初学者之旅)「建议收藏」

    Apache Solr入门教程(初学者之旅)「建议收藏」作者 | 胡海超的博客 来源 | https://blog.csdn.net/u011936655/article/details/51960005 写在前面:本文涉及solr入门的各方面,请逐行阅…

    2022-12-16
    155

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注