标题:sql 查询语句 多列内容 显示在一个单元格内
只看楼主
Icer51
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-19
结帖率:0
已结贴  问题点数:20 回复次数:13 
sql 查询语句 多列内容 显示在一个单元格内
案例:
原数据:
NO   a     b
 1   123   12301
 2   123   12302
 3   123   12303
 4   456   45601
 5   456   45602
用查询语句 后显示成为:
NO    a    b
1    123  12301,12302,12303
2    456  45601,45602
搜索更多相关主题的帖子: 格内 sql 语句 单元 查询 
2010-11-19 15:06
Icer51
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-19
得分:0 
高手 帮忙弄下 问了好多人了 搞的头都大了 这个语句在sqlserver 2005中执行
2010-11-19 15:07
Icer51
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-19
得分:0 
是这个问题太简单了 还是我问的不清楚 有会的帮忙解决下 谢谢  我sql菜鸟级 不胜感谢
2010-11-19 15:40
Icer51
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-19
得分:0 
忘了说了 a 是主表的列 b是附表的列  
2010-11-19 15:46
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
得分:10 
参考这个,不过是SQL SERVER 2000中的
create function f_test(@订单编号 varchar(100))
returns varchar(8000)
as
begin
declare @参与人员 varchar(8000)
select @参与人员=isnull(@参与人员+',','')+人员
from test where 订单编号=@订单编号
return @参与人员
end

select distinct 订单编号,dbo.f_test(订单编号) from test
2010-11-19 15:51
njy23000
Rank: 2
等 级:论坛游民
帖 子:7
专家分:18
注 册:2010-11-19
得分:10 
如果是不确定数量的项目,必须通过存储过程解决:查询记录,循环连接;
如果是确定数量的项目,可以通过确定的参数,通过嵌套查询或是联合查询来解决。
2010-11-19 15:52
njy23000
Rank: 2
等 级:论坛游民
帖 子:7
专家分:18
注 册:2010-11-19
得分:0 
回复 5楼 aei135
蝙蝠侠,看看我的问题,能解决吗?

请教同组物品查询的方法-我只发难题
Create  TABLE MAIN.[object_group](
[object_title] varchar(50)
,[object_para] varchar(50)
,[group_title] varchar(50)
,[group_value] varchar(50)
, Primary Key(object_title,object_para,group_title,group_value)   
);

Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("桌子","红木八仙桌","品种","家具");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("桌子","红木八仙桌","材质","红木");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("桌子","红木八仙桌","包装","一类包装-大");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("茶几","红木几","品种","家具");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("茶几","红木几","材质","红木");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("茶几","红木几","包装","二类包装-中");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("桌子","平头案","品种","家具");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("桌子","平头案","材质","梨花木");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("桌子","平头案","包装","一类包装-大");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("椅子","电脑转椅","品种","办公");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("椅子","电脑转椅","包装","二类包装-中");
Insert  Into [object_group] ([object_title],[object_para],[group_title],[group_value]) Values("椅子","电脑转椅","材质","革");


[object_title] 对象名称
[object_para] 对象参数
[group_title] 组名称
[group_value] 组取值

求查询语句写法:
输入:对象名称,对象参数
输出:和输入对象至少具有两个相同组名称和组取值的其他对象列表
通俗讲,就是:至少有两个分类定义相同的其他物品

也可以扩充为:有若干个分类定义相同

[ 本帖最后由 njy23000 于 2010-11-19 15:56 编辑 ]
2010-11-19 15:54
Icer51
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-19
得分:0 
数量是不确定 5楼的大哥 我刚才试过了 我没弄出来 哎
这个语句是为了做报表 用的 希望 用查询语句 解决
如果有个 类似的 案例也行 我试试弄 哎 现在搞得 头都大了 蒙住了
我sql太差了
2010-11-19 16:02
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
得分:0 
这个2000的除了函数还可以用游标了,不知道你能不能接受
2010-11-19 17:20
njy23000
Rank: 2
等 级:论坛游民
帖 子:7
专家分:18
注 册:2010-11-19
得分:0 
回复 8楼 Icer51
数量不确定,只能用存储过程或函数解决。
直接的查询语句不支持。
2010-11-20 09:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-326250-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.840920 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved