Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如果一列对其他表中的另一列无效 我有三张桌子_Sql_Sql Server_Sqlcode - Fatal编程技术网

Sql 如果一列对其他表中的另一列无效 我有三张桌子

Sql 如果一列对其他表中的另一列无效 我有三张桌子,sql,sql-server,sqlcode,Sql,Sql Server,Sqlcode,我想为其编写验证sql查询 “Int Phone Code Home对于给定的CountryISO Home代码无效 我试过这样做 SELECT WorkerId FROM PhoneNumbers a, Country_PhoneCode b WHERE IntPhnCode - Home != (SELECT PhoneCode FROM Country_PhoneCode i,

我想为其编写验证sql查询 “Int Phone Code Home对于给定的CountryISO Home代码无效

我试过这样做

SELECT WorkerId
FROM   PhoneNumbers a,
       Country_PhoneCode b
WHERE  IntPhnCode - Home != (SELECT PhoneCode
                             FROM   Country_PhoneCode i,
                                    Country_ISO j
                             WHERE  i.Country = j.Country) 
请帮帮我试试这个

select WorkerId 
from PhoneNumbers a
join Country_ISO b on b.iso=a.CountryIso-Home
join country_phoneCode c on c.coutry=b.country
where c.PhoneCode <> a.Intphn Code-Home
选择WorkerId
从电话号码a
在b.ISO=a.CountryIso-Home上加入国家/地区
在c.coutry=b.country上加入国家/地区\电话码c
其中c.PhoneCode a.Intphn代码Home
  • JOIN Country_ISO将工人与其国家匹配
  • JOIN country_phoneCode获取该国家/地区的电话代码
  • 在代码不匹配的情况下,报告工人的WHERE子句
如果可以更改数据库结构,请将电话号码移动到国家/地区\ ISO,因为它看起来是1对1的匹配,因此从逻辑角度来看,它可以是ISO表的一个字段

select WorkerId 
from PhoneNumbers a
join Country_ISO b on b.iso=a.CountryIso-Home
join country_phoneCode c on c.coutry=b.country
where c.PhoneCode <> a.Intphn Code-Home