我在这里遇到麻烦..可以说我有两个表,记录之间唯一不同的是它们的条形码。我正在使用此代码:
INSERT INTO rez1(barcode,No_,lik_pagr,inventkiekis,Vidurkis,skirias)
SELECT t2.barcode, t2.No_, t1.lik_pagr, t2.lik_pagr, ROUND(t2.lik_pagr - t1.lik_pagr,3) AS 'Vidurkis', CASE WHEN (t1.lik_pagr - t2.lik_pagr)<>0 THEN 1
ELSE 0
END
FROM likuciai AS t1
INNER JOIN pirmoji AS t2
ON t1.barcode = t2.barcode;
我这里的问题是-它只选择两个表中都存在的记录(在条形码上),但我又如何获得条形码不等于表t1的记录?
原因t2始终是用户更新的表,而t1是旧表,我必须显示和对那些记录应用相同的算法。
最佳答案
您需要使用LEFT JOIN。只需将“ INNER”替换为“ LEFT”。这将从t1获取所有记录,并为t2值返回NULL,其中t1.barcode在t2中没有匹配的条形码。
关于c# - 比较(JOIN)表并获取新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8590653/