SQL-Abfrage Alle Daten aus 2 Dateien ?

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