Ich versuche, drei Tabellen, Anwendung, Audio, Video zu kombinieren. Sie haben alle das gleiche Schema, aber es gibt "Duplikate" in Audio und Video. Wo ein Eintrag in Video immer auch in Audio angezeigt wird. Ich setze Duplikate in Anführungszeichen, da die gesamte Zeile nicht dupliziert ist, sondern auf drei Feldern basiert.SQL, kombinieren Sie zwei Tabellen mit unterschiedlichen Werten nur (basierend auf nur drei Felder, nicht ganze Zeile)
Audio Tabelle
**Calls | StartTime | EndTime | Quality | CallType**
John | 3/15/16 8:01 | 3/15/16 9:01 | 0 | Audio
Mary | 3/15/16 9:35 | 3/15/16 10:34 | 1 | Audio
Video Table
**Calls | StartTime | EndTime | Quality | CallType**
John | 3/15/16 8:01 | 3/15/16 9:01 | 1 | Video
Sue | 3/15/16 11:32 | 3/15/16 11:50 | 0 | Video
Anwendungstabelle
**Calls | StartTime | EndTime | Quality | CallType**
Matt | 3/15/16 7:31 | 3/15/16 8:01 | 1 | App
Bill | 3/15/16 1:32 | 3/15/16 2:50 | 0 | App
und ich möchte, dass sie in einer Tabelle kombinieren, die die Daten von Video hält, wenn es Duplikate - so sieht man, dass John nur einmal auftaucht, mit der Qualität und dem Calltyp aus der Videotabelle:
**Calls | StartTime | EndTime | Quality | CallType**
Mary | 3/15/16 9:35 | 3/15/16 10:34 | 1 | Audio
John | 3/15/16 8:01 | 3/15/16 8:01 | 1 | Video
Sue | 3/15/16 11:32 | 3/15/16 11:50 | 0 | Video
Matt | 3/15/16 7:31 | 3/15/16 8:01 | 1 | App
Bill | 3/15/16 1:32 | 3/15/16 2:50 | 0 | App
I AUSNAHME und UNION zu verwenden versuchen, alle Zeilen in Audio zu wählen, die in Video nicht auftauchen, dann mit Video-Beitritt, aber da es sie so einzigartig ist, zu sehen, weil Calltype immer anders ist, und Qualität könnte möglicherweise anders sein.
SELECT Calls, StartTime, EndTime, Quality, CallType
FROM Audio
EXCEPT
SELECT Calls, StartTime, EndTime, Quality, CallType
FROM Video
UNION
SELECT Calls, StartTime, EndTime, Quality, CallType
FROM Video
UNION
SELECT Calls, StartTime, EndTime, Quality, CallType
FROM Application
Bitte kennzeichnen Sie Ihre Frage mit der Datenbank, die Sie verwenden. –