编写SQL筛选buyer_id或funder_id为23的关联表记录
实现目标的SQL语句方案
很简单,你只需要在关联查询的基础上加上WHERE子句,用OR条件来筛选符合要求的记录就行。不过要注意给字段加上表前缀,避免字段名冲突(毕竟两个表关联时,可能存在同名字段)。假设buyer_id属于relationship表,funder_id属于relationship_funder表,如果实际字段归属不同,你替换对应的表前缀就好。
最终的SQL语句如下:
SELECT * FROM relationship JOIN relationship_funder ON relationship.id = relationship_funder.relationship_id WHERE relationship.buyer_id = 23 OR relationship_funder.funder_id = 23;
逻辑拆解
这条语句会帮你过滤出三种符合条件的记录:
- 只有
buyer_id是23的 - 只有
funder_id是23的 - 两个字段都是23的
完全覆盖了你需要的场景。如果后续要调整目标ID,只需要把23换成其他数值就行,核心逻辑不用改动。
内容的提问来源于stack exchange,提问作者Lejiend
相关产品推荐
相关产品推荐

