首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我需要像这样的sql查询输出

我需要像这样的sql查询输出
EN

Stack Overflow用户
提问于 2011-11-05 21:45:54
回答 3查看 85关注 0票数 1

这是我的问题

代码语言:javascript
运行
复制
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

这是输出:

代码语言:javascript
运行
复制
floorno        flat       
2          FlatB1
2          FlatB2
1          FlatA1
1          FlatA2

但我需要这样做:

代码语言:javascript
运行
复制
floorno  flat        dummycolum
1       FlatA1         FlatA2
2       FlatB2         FlatB2 
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-05 22:11:20

这一点:

代码语言:javascript
运行
复制
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

将会给予

代码语言:javascript
运行
复制
Floor   FlatList
1       FlatA1,FlatA2
2       FlatB1,FlatB2 

不是在单独的列中,但可能是您想要的?

票数 1
EN

Stack Overflow用户

发布于 2011-11-05 21:57:48

好的,如果您的原始输出包含1号floorno上的10000个扁平实例,那么您将需要9,999个虚拟列?

忽略floorno的排序--使用ORDER BY子句很容易--您会混淆查询的输出和输出的显示格式。

使用SQL查询数据,然后将其传递给其他一些过程,在这些过程中,您可以在表示层中对其进行格式化。如果你描述你的表示层是什么(html?)然后,您可以将帖子移动到关于在表格中显示请求结果的HTML/XHR问题。

票数 2
EN

Stack Overflow用户

发布于 2011-11-05 22:02:03

您是否正在尝试控制表象输出?如果是这样的话,这是错误的方法。但是,如果您正在尝试转置您的表,则可以查看crosstab or pivot query。这是another description

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8020551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档