Immer einen eindeutigen Wert über 2 union sql server-Tabellen
Ich versuche, alle unterschiedlichen Werte in den 2 Tabellen mit einer union.
Die Idee ist es, eine Anzahl der eindeutigen Werte in der Spalte Spalte ohne Wiederholungen, so dass ich eine Summe über alle Spalten, die enthalten eine einzigartige columnA.
Dies ist, was ich versucht habe (sql server express 2008)
select
count(Distinct ColumnA)
from
(
select Distinct ColumnA as ColumnA from tableX where x = y
union
select Distinct ColumnA as ColumnA from tableY where y=z
)
Und was funktioniert nicht genau? Sie haben einige überflüssige DISTINCTs, aber ansonsten sollte das funktionieren.
Was sind Sie immer so weit führt, dass Sie glauben, was Sie haben, falsch ist?
Was sind Sie immer so weit führt, dass Sie glauben, was Sie haben, falsch ist?
InformationsquelleAutor rockit | 2009-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Extra distincts auf TableX und TableY sind nicht notwendig; Sie erhalten einmal in der tmp.ColumnA-Klausel. Deklarieren Sie eine temporäre Tabelle zu beseitigen, die Zweideutigkeit, die vielleicht verhindert, Ihre Abfrage auszuführen.
UNION
entfernt DuplikateDieser arbeitete für mich. Ich hatte einfach hinzufügen, wie ColumnA am Ende der union würde select-Anweisung
Gute call. Vielen Dank für den Beistand.
dieser arbeitete für mich! Dank
InformationsquelleAutor Jim Dagg
Mithilfe einer "UNION" wird nicht wieder dupliziert. Wenn du mit "UNION ALL" und dann " duplizieren ColumnA Werte aus den einzelnen Tabellen WÄRE zurück.
UNION ALL
nicht Duplikate entfernenStimmt - ich dachte nur, einschließlich der distinct-in könnte es mehr performant (Ausführungsplan) - würde ein bisschen mehr testen, um zu beweisen/widerlegen. Re: UNION ALL, das ist das, was ich sagte 🙂
InformationsquelleAutor AdaTheDev
Um unterschiedliche Werte in Union Abfrage können Sie versuchen, diese
InformationsquelleAutor Prateek-Systematix
InformationsquelleAutor Everaldo Carneiro