【发布时间】:2013-09-04 15:37:11
【问题描述】:
我正在为一份新报告提取一个基本查询,但遇到了这个小问题。
我有两个表 Buildings (B) 和 Pictures (P) 两者中的键是 BuildingNumber。我在两个表之间有一个简单的内部联接。我遇到的问题是我在B中有183栋建筑物,但是每栋建筑物都有多张图片,并且每栋建筑物的图片数量并不一致。所以当我得到结果集时,它返回了大约 260 行。我想做的是只为每座建筑物返回一行,并为与该建筑物关联的每张图片有一列。请记住,我无权更改或创建表格。
我的数据是这样的:
建筑表(B):
BuildingNumber BldgName Floors SqFt
0001 Science 5 50000
0002 Engineering 4 40000
图片表(P):
BuildingNumber PictureURL
0001 URL1
0001 URL2
0001 URL3
0002 URL1
0002 URL2
所以我想要的结果是这样设置的:
BuildingNumber BldgName Floors SqFt PictureURL1 PictureURL2 PictureURL3
0001 Science 5 50000 URL1 URL2 URL3
0002 Engineering 4 40000 URL1 URL2 NULL
【问题讨论】:
-
为了澄清这个问题,您希望行尾的列数是动态的吗?
-
正确。我不知道每栋建筑有多少张照片。
-
最好是执行 2 个查询,在你的程序中你可以匹配图片和建筑物
标签: sql sql-server pivot