我正在寻找一种方法来连接2个表,但是在两个表中记录的结果首先出现在排序中。
说明:
SELECT npcdef.name,npcdef.id, npcinfo.npcid
from npcdef
LEFT JOIN npcinfo ON npcinfo.npcid=npcdef.id
WHERE npcdef.name LIKE '%$npcname%';
如何对结果进行排序,以便npcinfo中存在的记录首先出现,我想这将是一些ORDER BY语句但不确定逻辑。
谢谢
答案 0 :(得分:2)
使用此ORDER BY
子句:
ORDER BY npcinfo.npcid IS NULL
对于npcinfo
中的行,npcid
不会是NULL
,因此npcinfo.npcid IS NULL
将是false
,即0
。对于不在npcinfo
中的行,npcid
将为NULL
,因此此表达式为true
,即1
。