select * from (select distinct a.kcmc from a left OUTER JOIN b on a.ID=b.CoreID) m
where m.kcmc not in
(select distinct kcmc from a right OUTER JOIN b on a.ID=b.CoreID)
where m.kcmc not in
(select distinct kcmc from a right OUTER JOIN b on a.ID=b.CoreID)
select distinct kcmc from a right OUTER JOIN b on a.ID=b.CoreID 这两句单独运行,查出来的结果如果有你需要的,那么
select * (...) m where id not in () 就肯定行
select distinct a.kcmc from a left OUTER JOIN b on a.ID=b.CoreID where a.ID not in
(select distinct id from a right OUTER JOIN b on a.ID=b.CoreID )
(select distinct kcmc from a right OUTER JOIN b on a.ID=b.CoreID )-------------------
select kcmc from a
where not exists(select 1 from a,b where a.ID=b.CoreID)
a(id,kcmc,kcinfo)
b(id,coreid,teachername)
其中coreid为外键第一部分取出的值:LCCIEB课程
保险学概论
毕业论文(会) 第二部分取出的值:保险学概论
毕业论文(会)这样看来第一条就应该是得到的值,但是最后取到空。
select distinct a.kcmc from a left OUTER JOIN b on a.ID=b.CoreIDwhere coreid isnull
还right join干什么?是我错了又?
select distinct a.kcmc from a left OUTER JOIN b on a.ID=b.CoreID where a.kcmc is nullselect distinct kcmc from a right OUTER JOIN b on a.ID=b.CoreID
where kcmc is null
看一下
--同意楼上的说法
select distinct kcmc
from a right
OUTER JOIN b on a.ID=b.CoreID
可能有NULL值!
--前几天也遇到此情况了!就是出现了NULL值了!
Null值的问题;
如果这个值有''的话,那就isnull(col,'/*这里赋个其它值*/')
学习了,谢谢大家!