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 )
。 使代码更具可读性。 更新:修正错别字     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...