PDA

View Full Version : SQL Abfrage



juniorprog
21-07-05, 16:09
Hallo,
mal wieder ein Brett vorm Kopf.

Ich habe eine Datei mit den Feldern

X1 X2 X3

In X1 steht bsp 6610, in X2 00010 in X3 Text1
In einem anderen DS steht dann
X1=6610, in X2=00010 und in X3 Text2

Ich möchte nur die Sätze ausgeben in denen die Inhalte X1 und X2 gleich sind, aber unterschiedliche X3 drin stehen.
Die Kombinationen X1, X2 und X3 den gleichen Wert haben, sprich X3 sich nicht ändert sollen nicht ausgegeben werden.
GROUP BY wuerde mir ja die mehrfachen X3 liefern, aber das Feld nicht mehr anlisten. Gibt es da ne andere möglichkeit???

B.Hauser
21-07-05, 18:31
Das folgende Beispiel gibt alle Sätze zurück, die sowohl in Datei 1 als auch in Datei 2 vorhanden sind, und bei denen X1 und X2 übereinstimmen, währen sie unterschiedliche X3-Werte haben.



SELECT a.*, b.x3
FROM MyTable1 a join MyTable2 b
on a.x1 = b.x1
and a.x2 = b.x2
and a.x3 <> b.x3


Birgitta

juniorprog
22-07-05, 07:09
Hallo,

aber ich habe nur eine Tabelle:

mit Inhalten wie folgt

...
XY 05516 Text 1
XY 05918 Text 2
XX 06006 Text 3
XX 06006 Text 4
ZZ 06912 Text 4
ZZ 07628 Text 1

nun möchte ich nur die Datensätze mit XX ausgegeben haben da hier die 06006 2 unterschiedliche Texte hat...

B.Hauser
22-07-05, 07:42
Dann versuch's damit:


with x as (select x1 as xx1, x2 as xx2, count(x3) as AnzX3
from mytable
group by x1, x2
having count(X3) > 1)
select x1, x2, x3
from mytable join x on x1=xx1 and x2=xx2


Birgitta