该查询为我提供了我想要的结果,并且它完美地工作。mysql得到完全加入的结果
SELECT *
FROM npc5
FULL JOIN joeall ON merchnumber = joeall.id
WHERE date='$period'
ORDER BY DATE");
现在我想获得的记录中,其中商户数量是不是在joeall
表,像ON merchnumber != joeall.id
该查询为我提供了我想要的结果,并且它完美地工作。mysql得到完全加入的结果
SELECT *
FROM npc5
FULL JOIN joeall ON merchnumber = joeall.id
WHERE date='$period'
ORDER BY DATE");
现在我想获得的记录中,其中商户数量是不是在joeall
表,像ON merchnumber != joeall.id
请确保您有一个date
和merchnumber
的多字段索引以保持加速。
SELECT *
FROM npc5
WHERE date='$period'
AND merchnumber NOT IN (SELECT id FROM JOEALL)
ORDER BY DATE
排除任何ID,它是在NOT IN的SELECT语句中找到
$query1 = mysql_query("
SELECT *
FROM npc5
WHERE date='$period'
AND merchnumber NOT IN (SELECT id FROM joeall)
ORDER BY DATE");
相关子查询可以是非常低效的,应当避免每次可能的。
所以我不建议你做
SELECT *
FROM npc5
WHERE date='$period'
AND merchnumber NOT IN (SELECT id FROM JOEALL)
ORDER BY DATE
对http://devzone.advantagedatabase.com/dz/content.aspx?Key=42&ID=75
一看,我建议你喜欢
SELECT
*
FROM npc5 LEFT JOIN JOEALL on
npc5.merchnumber = joeall.id
WHERE
joeall.id is null
and
date='$period'
ORDER BY
date;
问候
改变它的东西,请,不要使用'mysql_ *'扩展名:它被弃用,切换到'PDO'或'mysqli_ *' –
另外,除非你有一个好的,特定的原因(不能被打扰,不是一个!),否则你不想使用'SELECT *'。这样更容易维护你的代码。 – BryanH