我查看了与我相同的其他线程,但是它们似乎没有回答我的问题。
我在这里有此代码:
select * from outerbarcodes where not exists (select 1
from bridgebarcodes
where bridgebarcodes.barcode = outerbarcodes.barcode
)
union SELECT productcode, Brand, product, size, barcode FROM outerbarcodes WHERE
COALESCE(productcode, '') <> '' AND
COALESCE(Brand, '') <> '' AND
COALESCE(product, '') <> '' AND
COALESCE(size, '') <> ''
我不明白为什么UNION
无法正常工作?
这是我设置的专栏:
表格:网桥条形码 列: ID int(11)AI PK 产品代码varchar(100) 条形码varchar(100)
表格:外部条形码 列: id int(11)AI PK 产品代码varchar(100) 品牌varchar(100) 产品varchar(100) 大小varchar(100) 条形码varchar(100)
答案 0 :(得分:0)
UNION的2个查询必须具有相同的列数,并且这些列必须具有相同的数据类型,因此请更改为此:
select productcode, Brand, product, size, barcode from outerbarcodes where not exists (select 1
from bridgebarcodes
where bridgebarcodes.barcode = outerbarcodes.barcode
)
union SELECT productcode, Brand, product, size, barcode FROM outerbarcodes WHERE
COALESCE(productcode, '') <> '' AND
COALESCE(Brand, '') <> '' AND
COALESCE(product, '') <> '' AND
COALESCE(size, '') <> ''