我下面有两个表,我想加入这些表,我希望看到结果表中显示的结果,其中table2以逗号分隔在一行内。左表应保持原样,但第二个表应与之相邻,并具有匹配的ID。
NAMES
+-------------+----------------+
| ID | Name |
+-------------+----------------+
| 1 | Adem |
| 2 | Mehmet |
| 3 | Ali |
+-------------+----------------+
LOGINS
+---------+-------------+
| ID | NAMES|
+---------+-------------+
| 17| Adem|
| 18| Adem|
| 19| Mehmet|
+---------+-------------+
RESULT TABLE
+-------------+----------------+-----------
| ID | Name | LoginIDs |
+-------------+----------------+-----------
| 1 | Adem |17,18 |
| 2 | Mehmet |19 |
| 3 | Ali | |
+-------------+----------------+----------+
如果您使用的是SQL Server 2017或更高版本,则STRING_AGG
执行此操作。
https://docs.microsoft.com/en-us/sql/t-sql/functions/string-agg-transact-sql?view=sql-server-ver15
您是否正在寻找类似的东西:
SELECT N.Name, L.Names. R.Name, R.LoginID
FROM Names AS N
JOIN LOGINS AS L
ON N.ID = L.ID
JOIN RESULT AS R
ON N.ID = R.ID