SQL查询,以根据来自不同表的条件从一个表中进行选择

时间:2011-05-01 23:54:33

标签: mysql sql

第一个表格包含字段:

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上。

1 个答案:

答案 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 )

使代码更具可读性。


更新:修正错误