我使用以下查询(在PHP脚本中)
SELECT *,
(SELECT head FROM pages WHERE id='0') AS nullhead
FROM pages WHERE id='$id1' OR id='$id2'
它提取给定页面的数据,包括head列的值。但是,head列可以是NULL,在这种情况下,使用id = 0的值。
是否可以在第2行没有子查询的情况下执行此操作,同时仍然只使用一个查询?
答案 0 :(得分:2)
你想在这里做一个自我加入(在这种情况下,是一个笛卡尔自我加入)
select a.*, b.head as nullhead
from pages a, pages b
where a.id in ( '$id1', '$id2' )
and b.id = '0'
答案 1 :(得分:1)
如果您想0
head
NULL
使用COALESCE
SELECT *, COALESCE(head, 0)
FROM pages WHERE id='$id1' OR id='$id2'
{{1}}