sqlserver 一对多查询将多条数据合并

我现在有这么两张表
表1ID=1

表2数据
表1ID=1,表2数据1
表1ID=1,表2数据2
表1ID=1,表2数据3
我现在就想法吧表2的多条结果拼成一个然后作为表1的字段返回出来,有没有人知道怎么实现,我先在这里谢谢了


SELECT * FROM
(SELECT 
--t.ID,
t.BigClass,
t.Num,
t.SmallClass,
t.[Content],
t.IsQuantization,
--t.DeptId,
--t.TargetValue,
--t.MinValue,
--t.StriveValue,
--t.Score,
--t.BelongToPeriod,
--t.QuantizationType,
--t.IndicatorSepDept,
--t.F_CreateDate,
--t.[Status]
dzir.*
,row=ROW_NUMBER() OVER(PARTITION BY t.ID ORDER BY dzir.CreateTime desc)
FROM

DK_ZB_DeptIndicator AS t
RIGHT JOIN 
DK_ZB_IndicatorReport AS dzir ON dzir.IndicatorsID = t.ID)   AS t WHERE  t.row = 1
 



DK_ZB_DeptIndicator  主表

DK_ZB_IndicatorReport  对应的多表

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-31
declare @表2数据结合 nvarchar(50)
select @表2数据结合=''
select @表2数据结合=@表2数据结合+表2数据 from 表2
select @表2数据结合
上述sql 可以实现将表2的多条结果拼成一个
“作为表1的字段返回”这句没看懂啥意思本回答被提问者采纳
第2个回答  2011-12-30
这个问题我研究过好多时间,结果是用SQL语句是实现不了,只能编程实现或是用存储过程
第3个回答  2011-12-30
没太看懂这数据什么意思
select 表1.ID,表2.数据1,表2.数据2,表2.数据3 from 表1,表2 where 表1.ID = 表2.ID
相似回答