SQL 问题(PgAdmin4)

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

在 pgadmin4 中如何编写此查询来显示共享相同地址的客户名称,例如夫妻?

我打字了;从演员中选择 name_id 和 address_id 其中姓名和地址 =2 内连接

我期望得到显示共享相同地址的客户的输出

sql postgresql join schema rdbms
1个回答
0
投票

要匹配具有相同地址的客户,请在同一张表上执行自联接。这是使用 pgAdmin4 更新的 PostgreSQL SQL 查询。根据 actor 表中的 address_id,此查询将为您提供居住在同一地址的丈夫和妻子的列表。

SELECT a1.name AS husband_name, a2.name AS wife_name, a1.address_id
FROM actor a1
JOIN actor a2 ON a1.address_id = a2.address_id AND a1.name_id < a2.name_id;

使用两个别名(a1和a2)代表丈夫和妻子,我将演员表与其自身组合起来。 为了确保两个客户具有相同的地址,我比较了 address_id 相同的行。

为了避免重复,条件 a1.name_id a2.name_id 确保每对名称仅显示一次。

希望它有效:)

© www.soinside.com 2019 - 2024. All rights reserved.