Hallo
in Datei A steht (Ort):
Mannheim
Heidelberg
Heidelberg
in Datei B steht (Ort):
Mannheim
Berlin
Berlin
Meine Abfrage soll das liefern (Ort):
Mannheim
Heidelberg
Berlin
Wie war das dann ?
Danke
Hallo
in Datei A steht (Ort):
Mannheim
Heidelberg
Heidelberg
in Datei B steht (Ort):
Mannheim
Berlin
Berlin
Meine Abfrage soll das liefern (Ort):
Mannheim
Heidelberg
Berlin
Wie war das dann ?
Danke
Hallo,
meinst du so etwas?
select distinct ort from taba â deine âDatei Aâ
union
select distinct ort from tabb; â deine âDatei Bâ
Bitte.
GruĂ: Guido
Danke !
Tach Guido,
Danke - einen âSternâ habe ich fĂźr dich gebucht.
cu SAM
Hallo Guido!
Das hier stimmt zwar prinzipiell:
> select distinct ort from taba -- deine 'Datei A'
> union
> select distinct ort from tabb; -- deine 'Datei B'
Weil das aber eine Falle ist, Ăźber die ich auch schon einige Male gestolpert bin:
Dieser SELECT hier liefert genau die gleiche Resultatmenge:
select ort from taba -- deine 'Datei A'
union
select ort from tabb; -- deine 'Datei B'
Um den distinct explizit loszuwerden mĂźsstest du folgenden SELECT verwenden:
select ort from taba -- deine 'Datei A'
union **all**
select ort from tabb; -- deine 'Datei B'
Dann gibtâs noch eine Variante, nämlich die hier:
select distinct ort from taba -- deine 'Datei A'
union all
select distinct ort from tabb; -- deine 'Datei B'
NatĂźrlich kann man jetzt noch anfangen die distinctâs auf der einen oder anderen Seite wegzulassen, einen Effekt hat das aber nur bei UNION ALL, sonst gibtâs immer einen impliziten DISTINCT.
Das mag jetzt zwar ein wenig kleinlich erscheinen, aber wehe dem, der hier dann im SELECT anfängt zu summieren (bzw. generell Aggregatsfunktionen zu verwenden) und das nicht in seine Ăberlegungen miteinbeziehtâŚ
GruĂ
Martin