这是我的查询
SELECT
F.intfloorno,
FL.nvrflatname
FROM tbl_floormaster F
INNER JOIN tbl_flatmaster FL ON FL.intfloorid=F.intfloorid
WHERE intblockid=1
ORDER BY intfloorno DESC
这是输出:
floorno flat
2 FlatB1
2 FlatB2
1 FlatA1
1 FlatA2
但我需要这样:
floorno flat dummycolum
1 FlatA1 FlatA2
2 FlatB2 FlatB2
答案 0 :(得分:2)
好的,如果您的原始输出在floorno 1上包含10000个单位实例,您会想要9,999个虚拟列吗?
忽略floorno的排序 - 使用ORDER BY子句很容易 - 您将查询的输出与输出的显示格式混淆。
使用SQL查询数据,然后将其传递给其他可以在表示层中对其进行格式化的过程。如果您描述了您的表示层(html?),那么您可以将帖子移动到关于在表格中显示请求结果的HTML / XHR问题。
答案 1 :(得分:1)
你想控制表现输出吗?如果是这样,这是错误的做法。但是,如果您尝试转置表格,则可以查看crosstab or pivot query。 这是another description
答案 2 :(得分:1)
此:
SELECT F.intfloorno as Floor,
stuff( (SELECT ','+FL.nvrflatname
FROM tbl_flatmaster FL
WHERE FL.intfloorid=F.intfloorid
ORDER BY FL.nvrflatname
FOR XML PATH ('')
), 1, 2, '') as FlatList
WHERE intblockid=1
ORDER BY intfloorno DESC
将给出
Floor FlatList
1 FlatA1,FlatA2
2 FlatB1,FlatB2
不在单独的列中,但也许你想要的是什么?