如何将两列数据连接成一列?

问题描述 投票:0回答:1

我想将植物列中的数据连接到项目列中。下面的代码可以完美地连接位置列,但我不知道如何对多列数据应用连接。

农场餐桌

身份证 项目 植物名称 地点
1 苹果 海棠属 C座
2 咖啡 咖啡 A区
3 咖啡 咖啡 B区
4 苹果 海棠属 B区
SELECT
 Item,
 Botanical,
 STUFF(
     (SELECT DISTINCT ', ' + Location
      FROM farmtable
      WHERE Item = a.Item
      FOR XML PATH (''))
      , 1, 1, '')  AS URLList
FROM farmtable AS a
GROUP BY Item, Botanical

预期结果

身份证 项目 地点
1 苹果、海棠属 C区、B区
2 咖啡,咖啡 A区、B区
sql sql-server-2014-express
1个回答
0
投票

您可以更新代码并使用

CONCAT(item, ' ', Botanical)

SELECT
 CONCAT(item, ' ', Botanical) AS Item,
 STUFF(
     (SELECT DISTINCT ', ' + Location
      FROM @tt
      WHERE CONCAT(item, ' ', Botanical) = CONCAT(a.item, ' ', a.Botanical)
      FOR XML PATH (''))
      , 1, 1, '')  AS URLList
FROM @tt AS a
GROUP BY CONCAT(item, ' ', Botanical)
© www.soinside.com 2019 - 2024. All rights reserved.