5 Stimmen

Einen eindeutigen Wert in mehreren Tabellen auswählen (Sql)

HI,

Ich habe eine Datenbank mit 3 Tabellen TAB1, TAB2, TAB3, die genau dieselben Spalten haben, zum Beispiel :

TAB1
cola, colb, colc, cold
TABB
cola, colb, colc, cold
...

Jetzt möchte ich alle eindeutigen "colb"-Werte suchen, das ist die Abfrage:

SELECT DISTINCT colb FROM TAB1

Funktioniert perfekt, aber jetzt würde ich alle unterschiedlichen "colb"-Werte in meinen 3 Tabellen "TAB1", "TAB2", "TAB3" suchen:

SELECT DISTINCT colb FROM TAB1, TAB2, TAB3

Und jetzt meldet SQL einen Fehler: "Spalte 'colb' in Feldliste ist mehrdeutig" Nach einiger Suche habe ich verstanden, dass dies daran liegt, dass die Spalte "colb" in meinen 3 Tabellen vorhanden ist.

Wie kann ich also in meinen 3 Tabellen einen bestimmten Wert aus derselben Spalte suchen? Ich kann den LEFT JOIN nicht verwenden, weil ich in allen 3 Tabellen und nicht in einer von ihnen suchen möchte.

Haben Sie eine Idee? Danke

5voto

cherouvim Punkte 31201

Diese einzige Abfrage mit Union wird sich für Sie um unterschiedliche Werte kümmern.

select colb from tab1 union
  select colb from tab2 union
  select colb from tab3;

2voto

Ronnis Punkte 12252
select colb from tab1 union 
select colb from tab2 union 
select colb from tab3

0voto

Shakti Singh Punkte 81441
SELECT DISTINCT TAB1.colb,TAB2.colb,TAB3.colb FROM TAB1, TAB2, TAB3

0voto

ashish.chotalia Punkte 3646

SELECT Distinct cola from tab1 union

SELECT Distinct cola from tab2 union

SELECT Distinct cola aus tab3

0voto

Yogi Punkte 370

In Sybase können Sie die Syntax verwenden, die @cherouvim gepostet hat, Sie können sich die Subquery als Tabelle vorstellen.

Sie können auch temporäre Tabellen verwenden

select colb into #t1 from TAB1 
insert into #t1(colb) values(select colb from TAB2) 
insert into #t1(colb) values(select colb from TAB3) 
select distinct colb from #t1

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X