[英]SQL Query Design Help: Finding duplicates in multiple tables & exclusions
[英]Advanced SQL Query Design Help (Duplicates across two tables, multiple fields, possible exclusions based on one field)
我有兩個表,名為:
1)項目
2)bankitem
物料具有以下字段:
ID,CharID,名稱,ItemID,計數,類型,ID1,ID2,ID3,顏色,Effect1,Effect2,Effect3,LifeSpan,屬性,Equip,X,Y
Bankitem具有以下字段:
ID,CharID,名稱,ItemID,計數,類型,ID1,ID2,ID3,顏色,Effect1,Effect2,Effect3,LifeSpan,屬性
目的:
我想從這兩個具有以下共同字段的表中拉出一個單獨的列表(即,不只是一個計數):名稱,ItemID,ID1,ID2和ID3,以便我可以掃描列表並調查任何重復項項,然后刪除其中之一。 根據數據庫更新方式的性質,其他每個字段都可能有所不同。
另外,有時某些記錄可以重復(同樣,取決於數據庫的使用方式)。 如果字段“名稱”等於我可以設置的排除項之一,是否有一種方法可以內置到腳本中以排除重復項(基於上述字段)?
任何幫助將不勝感激。 我對SQL查詢還是比較陌生的-我知道我想做什么,但實際上對如何進行下一步很迷失。
謝謝。
SELECT Name, ItemID, ID1, ID2,ID3 FROM item
UNION ALL
SELECT Name, ItemID, ID1, ID2,ID3 FROM bankitem
如果不想重復,也可以使用UNION。如果不想重復使用表,只需在該列上使用唯一索引。
SELECT * FROM(SELECT Name, ItemID, ID1, ID2, ID3, count(*) no_of_records FROM item
UNION
SELECT Name, ItemID, ID1, ID2, ID3, count(*) no_of_records FROM bankitem
GROUP BY Name, ItemID, ID1, ID2, ID3 HAVING count(*) > 1)as x
WHERE x.Name != 'RedPotion'
要么
WHERE x.Name NOT IN('blah1','blah2')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.