Hilfe bei Erstellung eine SQL Query

klimmbimm

Neuer Benutzer
Beiträge
2
Hallo zusammen,
ich komme bei der Erstellung einer SQL Query nicht weiter.
Ich habe eine Tabelle mit 3 Spalten:

hauptnr | unternummer | konto
-----------------------------
10000 | 0 | 123
10000 | 1 | 123
10000 | 2 | 456
10000 | 3 | 789
10001 | 0 | 123
10001 | 1 | 123
10001 | 2 | 123
10002 | 0 | 123
10003 | 0 | 456
10004 | 0 | 123
10005 | 0 | 123
10005 | 1 | 456

Als Ergebnis möchte ich eine Tabelle ausgeben, die mir alle Zeilen ausgibt, wo es eine Hauptnummer gibt, die unterschiedliche Konten hinterlegt hat, zum Beispiel:
hauptnr | unternummer | konto
-----------------------------
10000 | 0 | 123
10000 | 1 | 123
10000 | 2 | 456
10000 | 3 | 789
10005 | 0 | 123
10005 | 1 | 456

Ich habe jetzt schon verschiedene Sachen mit GROUP BY und COUNT probiert, komme aber irgendwie auf keinen grünen Zweig.
Lässt sich das Problem überhaupt mit SQL lösen?

Ich hab einen SQL-Fiddle zum Testen angelegt: http://sqlfiddle.com/#!2/3aa7a6

Freue mich über jede Hilfe!

Vielen Dank schon mal,

KB
 
Werbung:
Hallo zusammen,
ich komme bei der Erstellung einer SQL Query nicht weiter.

Vielen Dank schon mal,

KB


Code:
test=*# select * from klimmbimm ;
  hn  | un | konto
------+----+-------
 1000 |  0 |  123
 1000 |  1 |  123
 1000 |  2 |  456
 1000 |  3 |  789
 1001 |  1 |  123
 1001 |  0 |  123
 1001 |  2 |  123
 1002 |  0 |  123
 1003 |  0 |  456
 1004 |  0 |  123
 1005 |  0 |  123
 1005 |  1 |  456
(12 rows)

Time: 0,168 ms
test=*# select hn, count (distinct konto) from klimmbimm group by hn having count(distinct konto) > 1;
  hn  | count
------+-------
 1000 |  3
 1005 |  2
(2 rows)
 
Werbung:
Danke, akretschmer!
Ich hab mich auch nochmal rangemacht und hab jetzt folgendes:
Code:
SELECT b.hauptnr,
  b.unternr,
  b.konto
FROM atable b
WHERE b.hauptnr IN
  (SELECT a.hauptnr
  FROM atable a
  GROUP BY a.hauptnr HAVING count(distinct(a.konto)) > 1)
Siehe auch: http://sqlfiddle.com/#!2/3aa7a6/2

Scheint das richtige bei rauszukommen.
 
Zurück
Oben