加入列并返回空值 - MS访问

时间:2016-01-14 11:00:27

标签: mysql ms-access

我有两张桌子:

Table Cars:

RegNr      Sold
-------   ------
ABC123    2015-12-27
ABC222   
ABC333    
ABC444
表单位:

VIN       BuyerPayed
------    ----------
ABC123    2015-12-18
ABC222    2015-12-18
ABC333    NULL
ABC444    2015-12-19

我看到ABC222和ABC444收到了买方的付款,所以我想要一个SELECT语句找到ABC222 ABC444。

我试过了

Select cars.regnr, cars.sold, Unit.BuyerPayedDate from Unit Inner Join cars on cars.regnr= unit.vin where cars.sold is Null and Unit.BuyerPayed is Not Null;

但是我得到了一些尴尬的结果。

请帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用带有连接的UPDATE查询:

update
  cars inner join unit on cars.RegNr = unit.VIN
set
  cars.Sold = unit.BuyerPayed

和(取决于您要实现的逻辑)您可能想要添加此条件:

where
  cars.Sold IS NULL

这会更新汽车ABC222ABC444,但不会更新ABC123,因为它已经有售出日期。

如果您只想要选择需要更新的行,而不是更新表,则可以使用此查询:

select cars.RegNr
from
  cars inner join unit on cars.RegNr = unit.VIN
where
  cars.Sold IS NULL
  and unit.BuyerPayed IS NOT NULL