我的SQL DB中有两个表(cd目录可以说)。我想将一个表中的记录(每晚重新创建)放入我的主表中。我只想将数量大于0的项目放入主表中。但是,夜间表中的某些项目将具有与主表中相同的UPC条形码字段。我不想把这些放入,只要那些已经在主表中的数量大于0.否则我希望所有数量大于0的条目从夜间到主表。
我根本无法理解如何做到这一点。当然我现在已经设置好了,所以数量> 0的所有内容都会被复制到主表中,但这意味着我可以为主表中已经存在的相同项目重复列表(基于UPC的重复项)。
任何人都知道如何做到这一点?我的查询是:
INSERT INTO main ( id, title, artist, qty, barcode )
SELECT nightly.PID,
nightly.Title,
nightly.Artist,
nightly.QtyAvail,
nightly.UPC
FROM nightly
WHERE nightly.QtyAvail > 0;
答案 0 :(得分:2)
insert into main ( id, title, artist, qty, barcode )
select
n.PID, n.Title, n.Artist, n.QtyAvail, n.UPC
from nightly as n
where
n.QtyAvail > 0 and
n.UPC not in (select T.barcode from main as T where T.qty > 0)