SELECT * FROM t_crkd a, t_crkdmx b, t_kf c, t_kcz d, t_wldy e
WHERE a.crkdid = b.crkdid
AND a.kfid = c.kfid
AND b.wlid = e.wlid
AND a.kfid = d.kfid
AND b.wlid = d.wlid
SELECT * FROM t_crkd a, t_crkdmx b, t_kf c, t_kcz d, t_wldy e
WHERE a.crkdid = b.crkdid
AND a.kfid = c.kfid
AND b.wlid = e.wlid
AND ( (a.kfid IN (SELECT kfid
FROM t_kcz) AND b.wlid NOT IN (SELECT wlid
FROM t_kcz
WHERE kfid = a.kfid))
OR (a.kfid NOT IN (SELECT kfid
FROM t_kcz))请问下上面两个句子为什么查询出来的结果会有重复的语句啊?有没什么方法把两个句子用一个句子给查出来,用UNION直接相连速度太慢了,我要优化它,谢谢
WHERE a.crkdid = b.crkdid
AND a.kfid = c.kfid
AND b.wlid = e.wlid
AND a.kfid = d.kfid
AND b.wlid = d.wlid
SELECT * FROM t_crkd a, t_crkdmx b, t_kf c, t_kcz d, t_wldy e
WHERE a.crkdid = b.crkdid
AND a.kfid = c.kfid
AND b.wlid = e.wlid
AND ( (a.kfid IN (SELECT kfid
FROM t_kcz) AND b.wlid NOT IN (SELECT wlid
FROM t_kcz
WHERE kfid = a.kfid))
OR (a.kfid NOT IN (SELECT kfid
FROM t_kcz))请问下上面两个句子为什么查询出来的结果会有重复的语句啊?有没什么方法把两个句子用一个句子给查出来,用UNION直接相连速度太慢了,我要优化它,谢谢
FROM t_crkd a,
t_crkdmx b,
t_kf c,
t_kcz d,
t_wldy e,(SELECT kfid FROM t_kcz)as f
(SELECT wlid FROM t_kcz WHERE kfid = a.kfid) as g
(SELECT kfid FROM t_kcz) as h
where a.kfid = f.kfid
and b.wlid<>g.wlid
and a.kfid <>h.kfid
AND a.kfid = c.kfid
AND b.wlid = e.wlid
AND a.kfid = d.kfid
AND b.wlid = d.wlid 用内联视图比子查询好点
再把from后面的表按照资料大小从小到大排列试试,看看速度快点没