数据库面试题1

来源:百度知道 编辑:UC知道 时间:2024/06/22 19:15:52
使用T-SQL将如下表
产品名 产品数量 仓库id
A产品 1 1
A产品 2 3
B产品 1 1
C产品 6 4
... .. ..
用如下形式显示
产品名 仓库id_1 仓库id_2 仓库id_3 仓库id_4
A产品 1 0 2 0
B产品 1 0 0 0
C产品 0 0 0 6
... .. .. .. ..

我记得以前讲过,可现在忘记了,希望有人来回答,只用基本的查询语句,随便怎么连接嵌套,只要结果正确即可,有多种方法的请尽量都写出来,在此谢过

select a.产品名,
isnull(b1.产品数量,0) as 仓库id_1,
isnull(b2.产品数量,0) as 仓库id_2,
isnull(b3.产品数量,0) as 仓库id_3,
isnull(b4.产品数量,0) as 仓库id_4
from
(select distinct 产品名 from tablename) a
left join tablename b1 on b1.产品名=a.产品名 and b1.仓库id=1
left join tablename b2 on b2.产品名=a.产品名 and b2.仓库id=2
left join tablename b3 on b3.产品名=a.产品名 and b3.仓库id=3
left join tablename b4 on b4.产品名=a.产品名 and b4.仓库id=4