Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Hilfe zum erweiterten SQL-Abfragedesign (Duplikate über zwei Tabellen, mehrere Felder, mögliche Ausschlüsse basierend auf einem Feld)

SELECT Name, ItemID, ID1, ID2,ID3 FROM item
UNION ALL
SELECT Name, ItemID, ID1, ID2,ID3 FROM bankitem

Oder verwenden Sie UNION, wenn Sie keine Duplikate wollen. Wenn Sie keine Duplikate in der Tabelle wollen, verwenden Sie einfach einen eindeutigen Index für diese Spalte.

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'

Oder

WHERE x.Name NOT IN('blah1','blah2')