如何解决SQL查询根据来自另一个表的条件从一个表中进行选择
| 第一个表包含以下字段: A_id,B_id,field1,field2 第二个表有字段 C_id,A_id,B_id 我想选择第一张表中所有包含B_id的行,第二行上也存在B_id,而且,我只希望那些具有特定A_id的行。我尝试使用JOIN语句,但是我找不到正确的语句。到目前为止,我已经尝试过类似这样的查询,但是它们无法产生预期的结果: SELECT post.* FROM post INNER JOIN subscription ON subscription.iduser = 22 WHERE post.iduser = 22;
顺便说一句,所有这些都在MySQL上。
解决方法
我会写类似:
SELECT post.*
FROM post
LEFT JOIN subscription USING (iduser)
WHERE subscription.iduser = 22
如果在两个要连接的表中具有相同的字段名称,则JOIN subscription ON subscription.iduser = post.iduser
可以写为JOIN subscription USING( iduser )
。
使代码更具可读性。
更新:修正错别字
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。