如何在不存在的查询上应用子查询?

时间:2019-04-05 09:30:27

标签: mysql sql

我在下面有此代码:

select * from outerb where not exists(select * from wms where 
outerb.barcode = wms.barcode);

id喜欢在此处添加此代码:

select concat('0',barcode) from outerb

之所以这样做,是因为我需要在所有条形码之前添加一个额外的0并将其与另一个表连接在一起。

这是我到目前为止尝试过的:

select concat('0',barcode) as x from outerb join wms on outerb.x = 
wms.barcode;

但是Column 'barcode' in field list is ambiguous出现了错误

2 个答案:

答案 0 :(得分:0)

在条形码列之前使用表别名名称

select concat('0',outerb.barcode) as x from
outerb join wms on concat('0',outerb.barcode) = wms.barcode
where not exists (select * from wms where concat('0',outerb.barcode) = wms.barcode)

答案 1 :(得分:0)

两个表中都有一个列条形码,因此会出现该错误。试试这个:

select concat('0',outerb.barcode) as x 
from outerb join wms 
on concat('0',outerb.barcode) = wms.barcode;