日期:2014-05-20  浏览次数:20334 次

50分 sql一句
如下四个表:

表a
cityid     city
1               北京
2               南京
3               天津
4               上海

表b
productid     producte
1                     冰箱
2                     热水器
3                     电视机
4                     洗衣机
5                     电视柜

表c
cityid     productid   output
1                 2                 100
1                 2                 200
2                 1                 50
2                 4                 400
3                 4                 300
1                 3                 100
1                 2                 200

用一句sql语句或存储过程求出如下表的内容:

            冰箱     热水器     电视机     洗衣机   电视柜
北京     0           500             100         0             0
南京     50         0                 0             400         0
天津     0           0                 0             300         0
上海     0           0                 0             0             0



------解决方案--------------------
Create TAble [表a](
[cityid] [int] IDENTITY (1, 1) NOT NULL ,
[city] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
)ON [PRIMARY]

GO
INSERT INTO [表a] ([city]) values (N '北京 ')
INSERT INTO [表a] ([city]) values (N '南京 ')
INSERT INTO [表a] ([city]) values (N '天津 ')
INSERT INTO [表a] ([city]) values (N '上海 ')

GO

Create TAble [表b](
[productid] [int] IDENTITY (1, 1) NOT NULL ,
[producte] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
)ON [PRIMARY]

GO
INSERT INTO [表b] ([producte]) values (N '冰箱 ')
INSERT INTO [表b] ([producte]) values (N '热水器 ')
INSERT INTO [表b] ([producte]) values (N '电视机 ')
INSERT INTO [表b] ([producte]) values (N '洗衣机 ')
INSERT INTO [表b] ([producte]) values (N '电视柜 ')

GO

CREATE TABLE [表c] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,