我有这个 php 查询;
$sql = "SELECT *
FROM store AS s
LEFT JOIN setting as set ON (s.store_id = set.store_id)";
$sql .= " WHERE (set.key = 'config_template' OR set.key IS NULL)";
$sql .= " ORDER BY url";
$query = $this->db->query($sql);
我想要做的是返回key
等于“config_template”的所有行。但是,如果没有与“config_template”匹配的键,我仍然想返回该行,除非列 key
将为空。
我考虑过使用 NOT IN
或 NOT EXIST
但我不确定在这种情况下如何使用它们?
最佳答案
将键的条件移至 JOIN 条件应该可以解决问题:
SELECT *
FROM store AS s
LEFT JOIN setting as set
ON s.store_id = set.store_id AND set.key = 'config_template'
ORDER BY url
关于php - 选择的列值不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12470319/