比较(JOIN)表并获取新记录

时间:2011-12-21 13:36:27

标签: c# .net sqlite datatable compare

我在这里遇到麻烦..让我说我有两张桌子,记录之间唯一独特的东西是他们的条形码。我正在使用此代码:

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;

这里的问题 - 它只选择两个表中存在的记录(ON条形码),但是如何获得条形码不等于表t1的记录? 原因t2始终是用户更新的表,t1是旧的,我必须显示并将相同的算法应用于那些匹配的记录。

1 个答案:

答案 0 :(得分:2)

您需要使用LEFT JOIN。只需将“INNER”替换为“LEFT”即可。这将从t1获取所有记录,并为t2值返回NULL,其中t1.barcode在t2中没有匹配的条形码。