简体   繁体   English

SQL 合并具有相同 ID 的行

[英]SQL Combine rows with same ID

I have two tables and I need to combine the rows.我有两个表,我需要合并行。

As far I have:据我所知:

$sql = "SELECT A.AID, A.Street, B.FirstName, B.LastName                                     
        FROM A 
        LEFT JOIN B 
        ON A.AID = B.AID;";

Could you help me please to merge those rows, where several people live in the same street?你能帮我合并那些行吗,几个人住在同一条街上?

使用 INNER JOIN 组合行

If you are using MySQL, then you would use GROUP_CONCAT() or a JSON aggregation function.如果您使用 MySQL,那么您将使用GROUP_CONCAT()或 JSON 聚合 function。 The idea is:这个想法是:

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;

In SQL Server you would use string_agg() :在 SQL 服务器中,您将使用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;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM