简单 SQL子查询嵌套 语法有关问题
简单 SQL子查询嵌套 语法问题.
这是我度过来的范例 达到的目的和这个范例一样

而我的实际的SQL语句如下

目的就是 itemCode_C 相同的 sys_tbxhgg_C 字段全部拼接.
但是上面案例 我用子查询代替 就是报错
我换了俩种写法貌似都不行截图如下:


------解决思路----------------------
LZ 不妨考虑一下 使用 with 子句,把你的结果先整理出来,再参考这个例子。
------解决思路----------------------
楼主第一个方法语法错了,你应该先把你的结果保存到临时表 再把你的临时表代替你的tb表
------解决思路----------------------
你的group by 中,为啥 sys_tbxhgg_C 也添加进去了額, 去掉这个字段试试。
------解决思路----------------------
額, 上面是我弄错,你试试这个
这是我度过来的范例 达到的目的和这个范例一样
create table tb(id int, value varchar(10))
insert into tb values(1,'aa')
insert into tb values(1,'bb')
insert into tb values(2,'aaa')
insert into tb values(2,'bbb')
insert into tb values(2,'ccc')
GO
SELECT id, value = stuff((SELECT ',' + value FROM tb AS t
WHERE t .id = tb.id FOR xml path('')), 1, 1, '')
FROM tb
GROUP BY id
而我的实际的SQL语句如下
select itemCode_C,P_itemCode_C,sys_tbxh_C,sys_tbxhgg_C from ProjectInformation,Project_PMana_New
where ProjectInformation.itemCode_C = Project_PMana_New.P_itemCode_C
group by itemCode_C,P_itemCode_C,sys_tbxh_C,sys_tbxhgg_C
order by itemCode_C
目的就是 itemCode_C 相同的 sys_tbxhgg_C 字段全部拼接.
但是上面案例 我用子查询代替 就是报错
我换了俩种写法貌似都不行截图如下:
------解决思路----------------------
LZ 不妨考虑一下 使用 with 子句,把你的结果先整理出来,再参考这个例子。
------解决思路----------------------
楼主第一个方法语法错了,你应该先把你的结果保存到临时表 再把你的临时表代替你的tb表
------解决思路----------------------
你的group by 中,为啥 sys_tbxhgg_C 也添加进去了額, 去掉这个字段试试。
------解决思路----------------------
額, 上面是我弄错,你试试这个
;with cte as
(
select
t1.itemCode_C, t2.P_itemCode_C,
sys_tbxh_C, sys_tbxhgg_C
from ProjectInformation as t1
inner join Project_PMana_New as t2
on t1.itemCode_C = t2.P_itemCode_C
group by t1.itemCode_C, t2.P_itemCode_C,
sys_tbxh_C,sys_tbxhgg_C
)
SELECT
itemCode_C, P_itemCode_C,
sys_tbxh_C, sys_tbxhgg_C = stuff((SELECT ',' + sys_tbxhgg_C FROM cte AS t
WHERE t.itemCode_C = cte.itemCode_C FOR xml path('')), 1, 1, '')
FROM cte
GROUP BY itemCode_C, P_itemCode_C, sys_tbxh_C
ORDER BY itemCode_C