我想在 3 个或更多表上使用联接来创建选择查询。我有 3 个表,即 t1
、t2
、t3
以及所有 3 个表中都存在的公共(public)列 id
。如果 id 存在于表中,我想选择 3 表,我的查询如下。
Select * from t1
inner join t2 on t1.id = t2.id
inner join t3 on t2.id = t3.id
where t1.id = 1 and t2.id = 1 and t3.id = 1
如果 id 存在于所有 3 个表中,则查询将返回值。但如果它不在任何表示例 t3 中,我将不会返回任何内容。我正在寻找一种方法,如果 t3
中不存在它,我应该继续从 t1
和 t2
最佳答案
这是您需要的吗?
SELECT *
FROM t1
INNER JOIN t2 on t1.id = t2.id
LEFT JOIN t3 on t2.id = t3.id
WHERE t1.id = 1 AND t2.id = 1 AND (t3.id = NULL OR t3.id = 1)
关于php - 仅当 id 存在于该表中时才从表中选择 mysql pdo php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30950498/