Hallo,
ich stelle mich wohl ein wenig blöde an.
habe eine tabelle in der ich folgende spalten A, B und C habe.
folgende werte habe ich in der tabelle:
A | AA | 1
A | AA | 0
B | BA | 1
C | CB | 1
Ich würde gern ein select auf alle spalten machen, die den gleichen wert in der spalte a und b haben. tja. nur wie?!!?
Es müssten dann die ersten beiden zeilen der tabelle rauskommen.
A | AA | 1
A | AA | 0
danke für eure hilfe!
moin
vileicht bin ich blind aber wo sind die werte denn 'gleich'
mfg
OK!
Sie unterscheiden sich nur in der Spalte C!
Ich würde gern in einem SELECT alle Daten holen, die in Spalte A und B gleich sind.
select distinct a, b from deinetabelle
holt sich die Gesamtanzahl der Kombinationen.
Dieses Resultat kannst du dann im 2. Schritt verwenden, um den jeweils 1. Datensatz davon zu holen.
select top(1) a, b, c, from deinetabelle ...
Ich glaub man kann es mit einem Join oder mit Nesting schaffen, das in ein Statement zu packen. Hab aber grad kein Beispiel zur Hand. Sollte aber gehn.
Gruß Hape
SELECT t.* FROM deineTabelle t INNER JOIN
( SELECT a, b FROM deineTabelle GROUP BY a, b HAVING COUNT(a) > 1 AND COUNT(b) > 1 ) q
ON t.a = q.a AND t.b = q.b
Hi Noodles,
ist das äquivalent? (nur interessehalber)
SELECT a, b FROM deineTabelle GROUP BY a, b HAVING COUNT(a) > 1 AND COUNT(b) > 1
und
select distinct a, b from deinetabelle
Gruß Hape
Hallo hape,
ich denke wohl eher nicht, weil der Wert der Spalte c doch verloren geht, oder?
Gruss
Friedel
Ohne Ziel ist auch der Weg egal.
@hape
Du bekommst so alle Zeilen genau einmal zurück.
ja, ich frage mich, ob
SELECT a, b FROM deineTabelle GROUP BY a, b HAVING COUNT(a) > 1 AND COUNT(b) > 1 und select distinct a, b from deinetabelle äquivalent sind.
Von Spalte c ist in beiden Fällen keine Spur.....
Gruß Hape
@ cb666: 'A' ungleich 'AA', also sind Spalte a und b nie gleich!
@typhos
'A' == 'A' und 'AA' == 'AA', also sind die Zeilen unter der Bedingung gleich!
Ah, danke! Dann habe ich das den gleichen wert in der spalte a und b haben falsch verstanden.
Sorry!!