SQL语句如何将某个字段的多个值返回到一起

在SQL中有某个字段对应了多个值,如A,B,C,D。如果直接进行查询的话,返回的就是4行,分别为A,B,C,D。可不可以只返回一行,效果为:A+B+C+D或者(A,B,C,D)

第1个回答  2010-09-26
1楼的思想最好,但有个问题就是如果abcd本身是一段字符时就出问题了,读出后就不好分开;(角色管理中好像就会有这种情况)
可以用cursor 来处理;

--定义一个变量;
rolestring varchar2(100);
cursor c is select role_name from table1 where **;
role_row table1.role_name%type;
open c
loop
fetch c into role_row;
rolestring:=rolestring|| role_row ||','
exit when c notfound;
end loop;

这样返回的就是A,B,C,D,。。。那样的。
// 在后台要将最后一个“,”去掉,在split就OK了。
第2个回答  2010-09-26
4行变成1行?

如果用 SQL Server 的话,可以用一种很 诡异的方法:

SELECT
DISTINCT ',' + SALE_ITEM
FROM
SALE_REPORT
FOR XML PATH('')

楼主可以测试一下,最后用一个 FOR XML PATH('') 就好。

我上面的 SQL 执行结果为:
,C,A,B本回答被提问者采纳
第3个回答  2010-09-26
这就是行专列之类的,可以参考decode。

如果不需要一条sql实现的我话,可以用cursor游标查询下,然后汇总你想要的结果集。即可。
第4个回答  2010-09-26
select a+b+c+d as E form table_a

SQL语句如何将某个字段的多个值返回到一起
\/\/ 在后台要将最后一个“,”去掉,在split就OK了。

...字段的值合并到一个字符串中,然後再跟别的SQL语句并集
union all select date||note from B

如何在一个sql查询语句中把某一个字段的多行的值拼在一起
FOR XML PATH('')楼主可以测试一下,最后用一个 FOR XML PATH('') 就好。我上面的 SQL 执行结果为:,C,A,B

SQL怎么将查询结果连接到一起?
(1)联立选字段select a.id,a.name name_2014,a.age.b.name name_2013 from(select id,name,age from a where time=2014) a,(select id,name from a where time=2013) b where a.id=b.id(2)利用case when和group by,这个需要测试(原因是我忘了直接写group行不行,还是要再套一...

sql取出一个字段的多个值并求和
select 点餐编号 as 账单编号,sum(价格) as 金额 from(select a.点餐编号,b.价格 from 点单 a left join 菜谱 bon ',' + a.点餐单号 + ',' like '%,' + b.菜号 + ',%') c group by 点餐编号

sql查询语句:要查询一个表中的字段中的几个数值合等于一个给定的...
select * From (select Id,sum(md) over(order by Id) as sums from table ) a where a.sums=67

SQL语句-如何拼接多列的值?
在业务数据分析过程中,常常需要将多个字段值合并为一个长字符串。例如,将年、月、日字段合并成完整的日期,或将姓、名字段合并成姓名列。实现这一功能需要使用SQL查询中的拼接方法,不同数据库的语法可能有所不同。以下将演示MySQL、Oracle、PostgreSQL和SQL Server这四种数据库中的拼接方法。1、插入...

sql语句如何将select出的多个结果insert到一个字段中
--进行相应处理(跟据需要填入SQL文),我这里根据你的需要叠加。fetch next from cursor1 into @shortname --将游标向下移1行 end close cursor1 --关闭游标 deallocate cursor1 最后 @shortname就是你需要得到的结果 然后你插入或者更新你的那个表的字段即可!

sql中如何将一个字段的多个记录合在一行显示
1 a 1 b 1 d 2 a 3 b 3 c 要求查询结果显示如下 单位名称 收费类别 1 a,b,d 2 a 3

SQL中如何把一个表中的某个字段的值拿出来放在一起插入另一个表的一...
insert into 目标表(目标字段) select 字段1+'*'+字段2+'*'+字段3 from 源表

相似回答