图中结果是UNION ALL INTERNAL SELECT的结果.
我在连接分配给同一ID的值时遇到了问题. 在INTER SELECT中,我可以获得多个相同的ID结果,但始终具有不同的ValueField值. 我需要按inn.ID对结果进行分组,我需要将所有不同的Valuefield连接到1列中.不同的值将被‘,’分割.你不需要担心Union All的结果,这是正确的,我需要处理这个结果
所以如果我的SELECT返回
ID: xxx FieldValue: FV1
ID: xxx FieldValue: FV55
ID: xxx FieldValue: FV66
ID: 123 FieldValue: FV789
那么最终结果将是:
ID: xxx FieldValue: FV1, FV55, FV66
ID: 123 FieldValue: FV789
这是我当前的代码:
SELECT
inn.ID
--STUFF GROUPPED RESULTS(ValueField)
FROM
(
SELECT te2.Root_ID AS ID, te1.ValueField
FROM TableExample2 AS te2
LEFT JOIN TableExample1 te1 ON te2.te1ID= te1.ID
WHERE te1.Deleted = 0
GROUP BY te2.Root_ID, te1.ValueField
UNION ALL
SELECT ID, ValueField
FROM TableExample1 AS main
WHERE ID IS NOT NULL
) AS inn
GROUP BY inn.ID
我想使用GROUP_CONCAT,但我的SQL Server不支持. 我试着用Stuff(),但我的结果仍然没有分组和关联.
非常感谢你的帮助.我很欣赏它