日期:2014-05-17  浏览次数:20712 次

帮忙看看这个语句要怎么写
表结构

Department:
ID Name L1Dept L2Dept HCPID
1  妇产科-产科 1  2   11111
2  骨科-关节外科 2  6  11111
3  ICU-ICU      3   10  1111

Department_Relation
ID Name L1Dept L2Dept 
1  妇产科-产科 1  2
2  骨科-关节外科 2  6

在Department表中,L1Dept和L2Dept是个组合关系,我就是想查出,在Department表中L1Dept和L2Dept的组合关系不存在于Department_Relation表的L1Dept和L2Dept的组合关系中。。

------解决方案--------------------
SELECT  *
FROM    deparment
WHERE   NOT EXISTS ( SELECT 1
                     FROM   Department_Relation
                     WHERE  Department_Relation.L1Dept = deparment.L1Dept
                            AND Department_Relation.L2Dept = deparment.L2Dept )
                            
--没太看明白lz 说的组合关系是啥意思.

------解决方案--------------------
把两表的L1Dept,L2Dept都拼成一个新的列 然后关联嘛
------解决方案--------------------
SELECT  *
FROM    deparment t1
WHERE   NOT EXISTS ( SELECT 1
                     FROM   Department_Relation t2
                     WHERE  t2.L1Dept = t1.L1Dept
                            AND t2.L2Dept = t1.L2Dept )