Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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
Mysql 比较数据库表中两列的SQL查询_Mysql - Fatal编程技术网

Mysql 比较数据库表中两列的SQL查询

Mysql 比较数据库表中两列的SQL查询,mysql,Mysql,我正在尝试编写一个视图来显示名称和错误的zipcode,对于在下面的customers表中有错误zipcode的customer,假设我们有另一个表调用usstates,它有正确的zipcodes 我的代码如下所示: 将视图测试创建为选择名称、来自客户c的zipcode、美国国家u,其中c.zipcode不在选择来自美国国家的zipcode中 你觉得怎么样?我们用zipcode连接两个表,并消除状态不匹配的行 CREATE VIEW customers_with_wrong_zipcode AS

我正在尝试编写一个视图来显示名称和错误的zipcode,对于在下面的customers表中有错误zipcode的customer,假设我们有另一个表调用usstates,它有正确的zipcodes

我的代码如下所示:
将视图测试创建为选择名称、来自客户c的zipcode、美国国家u,其中c.zipcode不在选择来自美国国家的zipcode中


你觉得怎么样?我们用zipcode连接两个表,并消除状态不匹配的行

CREATE VIEW customers_with_wrong_zipcode AS
  SELECT customers.customer_id, customers.zipcode AS wrong_zipcode, customers.state
  FROM customers
  INNER JOIN us_states ON us_states.zipcode = customers.zipcode
  WHERE us_states.state <> customers.state;
您可以使用“不存在”


如果我没弄错的话,你有两张桌子。一个包含客户信息,一个包含邮政编码,您想查找客户表中输入的邮政编码在邮政编码表中不存在的所有行吗

那样的话,你可以用这样的东西

SELECT NAME, ZIPCODE from Customers where not exists (SELECT TOP 1 ZIPCODE from MyZipCodeTable where Customers.ZIPCODE = MyZipCodeTable.ZIPCODE)

你试过什么了吗?是的,我试过了,我现在就上传我的代码。它不起作用,得到了错误的答案创建视图测试作为select name,zipcode来自客户c,usstates u,其中c.zipcode不在select zipcode来自usstates;下一次,请参见“是”,usstates表中的zipcode是正确的,因此我想查找customer表中zipcode错误的行,比较两个表,然后您可以使用此代码,您将获得MyZipCodeTable中不存在邮政编码的所有行我从上面的QueryId中获得一个空集您是否根据表和列名重命名表名和列名?如果不是的话,您应该会得到一些错误消息,除非您在某些代码中吞下了异常。是的,我确实重命名了表和列,起初我得到了一个意外的顶级标识符错误。然后我删除了top并成功运行了query,但是在我从表中选择*之后,我没有得到任何结果。很高兴听到@masquellett!那你能接受我的回答吗?谢谢
SELECT NAME, ZIPCODE from Customers where not exists (SELECT TOP 1 ZIPCODE from MyZipCodeTable where Customers.ZIPCODE = MyZipCodeTable.ZIPCODE)