0

我的 SQL DB 中有两个表(可以说是 cd 目录)。我想将一张表(每晚重新创建)中的记录放入我的主表中。我只想将数量大于 0 的项目放入主表中。但是,nightly 表中的某些项目将具有与主表中相同的 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;
4

1 回答 1

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)
于 2012-10-25T06:42:48.580 回答