3张关联表得比较问题?
现有3张表,表1,表2内容大都相同,现在想以KSH为纽带,把ZYDM列值不同得显示出来。表1中得ZYDM与表3没有关系,表2中ZYDM对应得代码表是表3。我想在比较得时候将表2中得ZYDM替换成表3中对应得MC,然后与表1比较,构造得sql语句如下
Select old.* from old join new on new.KSH = old.KSH where
SUBSTRING(old.ZYDM,1,2)<> SUBSTRING((select distinct 表3.MC from 表3,new where new.ZYDM=表3.ZYDM),1,2)
运行得时候发现SUBSTRING中得select语句返回得是一批记录没法比较。
请问应该如果构造这个sql语句呢?
表1:old
KSH ZYDM
001 计算机应用
002 情报学
表2:new
KSH ZYDM
001 02
002 08
表三:Code
ZYDM MC
01 哲学
02 文学
08 情报学