SQL语句坚行转横列的一种方法
库位 货物编号 库存数
1 0101 50
1 0102 60
1 0103 50
2 0101 90
2 0103 100
2 0111 30
3 0101 120
3 0102 110
4 0101 11
只列出表中库位为1、2、3的数据,格式如下:
货物编号 库位1 库位2 库位3
0101 50 90 120
0102 60 110
0103 50 100
0111 30
请问用一句sql语句怎么实现?
select a.货物编号,sum(b.库存数),sum(c.库存数),sum(d.库存数)
from stable a
left join (select 货物编号, 库存数 from stable where 库位=1)b on a.货物编号=b货物编号
left join (select 货物编号, 库存数 from stable where 库位=2)c on a.货物编号=c。货物编号
left join (select 货物编号, 库存数 from stable where 库位=3)c on a.货物编号=d。货物编号
group by a.货物编号
相关文档:
1.一道SQL语句面试题,关于group by
表内容:
2005-05-09 胜
2005-05-09 胜
2005-05-09 负
2005-05-09 负
2005-05-10 胜
2005-05-10 负
2005-05-10 负
如果要生成下列结果, 该如何写sql语句?
胜 负
2005-05-09 2 2
2005-05-10 1 2
------------------------------- ......
首先,我们看看exists和in的效率问题,这里我只说明一种测试语句
set statistics io on
sqlstatement
set statistics io off、
或者
set statistics time on
sqlstatement
set statistics time off
从studio里面的消息可以看出问题,我引用网上的一些准则http://www.cnblogs.com/diction/arch ......
第一范式:确保每列的原子性.
如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式.
例如:顾客表(姓名、编号、地址、……)其中"地址"列还可以细分为国家、省、市、区等。
第二范式:在第一范式的基础上更进一层,目标是确保表中的每列都和主键相关.
如果一个关系满足 ......
一、因情制宜,建立“适当”的索引
建立“适当”的索引是实现查询优化的首要前提。
索引(index)是除表之外另一重要的、用户定义的存储在物理介质上的数据结构。当根据索引码的值搜索数据时,索引提供了对数据的快速访问。事实上,没有索引,数据库也能根据SELECT语句成功地检索到结果,但随着表变 ......
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题。下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters)。
运行下面的脚本,建立测试数据库和表值参数。
代码如下:
--Create D ......