第一个表格包含字段:
A_id,B_id,field1,field2
第二个表有字段
C_id,A_id,B_id
我想选择第一个表中包含第二个表中也存在的B_id的所有行,而且,我只想要那些具有特定A_id的行。我试过使用JOIN语句,但我找不到正确的语句。到目前为止,我已经尝试过像这样的查询,但是它们没有产生预期的结果:
SELECT post.* FROM post INNER JOIN subscription ON subscription.iduser = 22 WHERE post.iduser = 22;
BTW,所有这些都在MySQL上。
答案 0 :(得分:1)
我会写一些类似的东西:
SELECT post.*
FROM post
LEFT JOIN subscription USING (iduser)
WHERE subscription.iduser = 22
如果您加入的两个表中有相同的字段名称,则JOIN subscription ON subscription.iduser = post.iduser
可以写为JOIN subscription USING( iduser )
。
使代码更具可读性。
更新:修正错误