如何从SQL中的字段中删除重复值?

时间:2012-10-25 06:40:29

标签: sql duplicates

我的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;

1 个答案:

答案 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)