繁体   English   中英

SQL 两个表之间的连接不包括某些字段

[英]SQL Join between two tables excluding some fields

我有两个表 Customer 和 Beneficiary,它们之间的关系是 ManyToMany,生成的表 customers_beneficiary 包含 Beneficiary 的 Id 和 Customer 的 Id 我想获得具有给定 beneficiary_id 的客户列表

SELECT * from customer c 
Full OUTER JOIN customers_beneficiaries cb 
ON c.id= cb.customer_id
WHERE cb.beneficiary_id=8;

但是我得到的结果包含 customers_beneficiary 表的两个字段 (customer_id && beneficiary_id) 如何从结果中排除它们 谢谢。

试试这个:(如果您可以将 customer 表中的id列名称更改为customer_id

SELECT c.* from customer c 
Full OUTER JOIN customers_beneficiaries cb 
USING(customer_id)
WHERE cb.beneficiary_id=8;

USING子句类似于ON子句,它采用必须在其上进行表连接的列列表,但这些列必须存在于两个表中。 join 操作中使用的列在 output 中只出现一次。

暂无
暂无

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

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