SQL: Query gesucht

boehmi

New member
Hallo,

SQL ist zwar keine richtige Progammierspache, aber ich wusste nicht wo ich es sonst posten sollte ;)

Ich habe eine Tabelle jobs, diese enthält unter anderen die Spalte jobname und netzname.
Jeder Job gehört zu 1-n Netzen.

Ich hätte jetzt gern eine Liste mit allen Jobs inkl. Netzname, die zu mehr als einem Netz gehören.

Meine Lösung über 3 Inline Selects finde ich unelegant und es geht bestimmt auch leichter ;)

Danke für die Hilfe
 

CDW

Moderator
Mitarbeiter
Um alle Jobs/Netznamen aufgelistet zu bekommen (die Abfrage von Easyrider liefert bei mir zumindest nur den ersten Namen http://sqlcourse2.com/cgi-bin/sqlcmd-sqlcourse2.cgi?sql_cmd=SELECT+firstname,state+FROM+customers+GROUP+BY+state+HAVING+count(firstname)>1;
mit http://sqlcourse2.com/customers.html Tabelle):
Code:
SELECT j2.jobname,j2.netzname
FROM jobs j1 INNER JOIN (SELECT jobname,netzname FROM jobs
GROUP BY jobname
HAVING count(netzname)>1) j2 ON j1.jobname=j2.jobname;
 

boehmi

New member
ah Having gibs ja auch noch ;) zu lang kein SQL mehr benutzt...
ich hab immer WHERE count() > 1 geschrieben, hehe

Ok danke
 

CDW

Moderator
Mitarbeiter
@Easyrider:
naja, es gibt in der Tabelle mehrere Customers, die aus diesen "States" kommen ;). Auf boehmis Problem übetragen: ich habs so verstanden, dass er
job1 : netzname1
job1: netzname2
job1 : netzname3
job2: netzname1

usw. sehen möchte. Einfaches "Group By having x" würde dann nur
job1:netzname1
job2:netzname1
liefern
 

mauralix

New member
So einfach sollte es auch gehen:
Code:
select netzname,jobname from jobs
where (select count(*) from netze where netze.jobname=jobs.jobname)>1
 
Oben