我正在尝试编写一个显示名称的视图,并在下面的customers表中为具有错误zipcode的客户编写wrong_zipcode,假设我们有另一个表调用具有正确zipcode的usstates。
我的代码看起来像这样: 创建视图测试作为选择名称,来自Customer c的zipcode,usstates u其中c.zipcode不在(从usstates中选择zipcode);
答案 0 :(得分:0)
你怎么看?我们使用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;
答案 1 :(得分:0)
您可以使用not exists
Select *
From customers c
Where not exists
(select 1 from usstates where zipcode = c.zipcode);
答案 2 :(得分:0)
如果我理解你的问题,你有两张桌子。一个有客户信息,一个有邮政编码,你想找到客户表中输入邮政编码的所有行都不在邮政编码表中?
在这种情况下,你可以使用这样的东西。
SELECT NAME, ZIPCODE from Customers where not exists (SELECT TOP 1 ZIPCODE from MyZipCodeTable where Customers.ZIPCODE = MyZipCodeTable.ZIPCODE)