我有两个表,我需要合并行。
据我所知:
$sql = "SELECT A.AID, A.Street, B.FirstName, B.LastName
FROM A
LEFT JOIN B
ON A.AID = B.AID;";
你能帮我合并这些行吗,几个人住在同一条街上?
答案 0 :(得分:0)
如果您使用 MySQL,那么您将使用 GROUP_CONCAT()
或 JSON 聚合函数。思路是:
SELECT A.AID, A.Street,
GROUP_CONCAT(B.FirstName, ' ', B.LastName SEPARATOR ', ') as names
FROM A LEFT JOIN
B
ON A.AID = B.AID
GROUP BY A.AID, A.Street;
在 SQL Server 中,您将使用 string_agg()
:
SELECT A.AID, A.Street,
STRING_AGG(CONCAT(B.FirstName, ' ', B.LastName), ', ') as names
FROM A LEFT JOIN
B
ON A.AID = B.AID
GROUP BY A.AID, A.Street;