1

我尝试设置以下 VIEW 并定义了 3 种情况,这些情况导致 WHERE 子句中 2 个表的列之间的指定匹配。

这或多或少有效,因为该视图具有由于我的陈述而应该被排除的条目。因此,请查看带有 select * 输出的屏幕截图。

你能帮我吗?非常感谢事先。

CREATE OR REPLACE VIEW `match` AS SELECT 
a.`werksnr`,
b.`werksnr` AS `werksnr_ref`, 
a.`EAN`,
b.`EAN` AS `EAN_ref`, 
a.`lieferant`,
b.`lieferant` AS `lieferant_ref`, 
a.`artikel`, 
b.`artikel` AS `artikel_ref`,  
a.`artikelbezeichnung` AS `bezeichnung_suspect`,
b.`artikelbezeichnung1`, 
b.`artikelbezeichnung2`

FROM suspect as a, reference as b WHERE 

(a.EAN IS NOT NULL AND b.EAN IS NOT NULL AND a.werksnr IS NOT NULL and b.werksnr IS NOT NULL AND a.EAN = b.EAN AND a.werksnr = b.werksnr) OR
(a.lieferant IS NOT NULL AND b.lieferant IS NOT NULL AND a.werksnr IS NOT NULL AND b.werksnr IS NOT NULL AND a.lieferant = b.lieferant AND a.werksnr = b.werksnr) OR
(a.lieferant IS NOT NULL AND b.lieferant IS NOT NULL AND a.EAN IS NOT NULL AND b.EAN IS NOT NULL AND a.lieferant = b.lieferant AND a.EAN = b.EAN);

截屏

4

0 回答 0