Forum: SQL |
Thema:
select bei ungleich bedingung |
Von:
Stefan Gojan (
18.01.2006 15:09) |
Hi,
ich hab da jetzt schon 2h rum probiert, bekomm es aber nicht gebacken. ich hab SQL Anywhere von Sybase und hab folgende 3 Tabellen:
create table Verein(
vid varchar(4),
tid char(3),
primary key (vid)
);
create table Trainer(
tName varchar(10),
tid char(3),
primary key (tName)
);
create table Spieler(
vid varchar(4),
sid char(3),
sName varchar(10),
primary key (sName)
);
insert into Verein values ('ROS', 'BEG');
insert into Verein values ('BYM', 'MAG');
insert into Verein values ('FCN', 'WOL');
insert into Trainer values ('Berger', 'BEG');
insert into Trainer values ('Magath', 'MAG');
insert into Trainer values ('Wolf', 'WOL');
insert into Spieler values ('BYM', 'MAK', 'Makaay');
insert into Spieler values ('BYM', 'SOL', 'Scholl');
insert into Spieler values ('FCN', 'BAO', 'Banovic');
insert into Spieler values ('KAIS', 'LOR', 'Lorsen');
insert into Spieler values ('FCN', 'MUL', 'Müller');
ich will jetzt alle Vereine wissen die keine Spieler haben. Mein Lösung wäre:
select distinct v.vid from spieler s, verein v where s.vid != v.vid;
Da kommt aber nur Blödsin raus.
Kann mir bitte jemand helfen, Danke
Volle Kanne Hoschie
Betreff |
Von |
Datum |
|
|
Thomas
Scherner
|
18.01.2006 15:14 |
|
|
Re: select bei ungleich bedingung
Hi Stefan,<br>ich würde es mit einem Sub-Select lösen:<br><br>SELECT v.vid FROM verein v WHERE (SELECT Count(*) FROM spieler s WHERE s.vid = v.vid) = 0<br><br>Gruß, Peter |
|
|
|
|
|
Peter
Knoll
|
19.01.2006 00:40 |
|
|
Re: select bei ungleich bedingung
Hi Stefan,<br>ein weiterer Lösungsweg wäre:<br><br>SELECT v.vid FROM verein v<br>WHERE v.vid not in (SELECT DISTINCT s.vid FROM spieler s)<br><br>gruss<br>jens |
|
|
|
|
|
Jens
Buthe
|
19.01.2006 10:42 |
|
|
Re: select bei ungleich bedingung
Hallo,<br><br>erstmal gibt es bei deinen Tabellen keine referentielle Integrität! D.h. bei dir gibt es keine Fremdschlüssel.<br>Du kannst also z.B. Spieler eine TrainerId zuweisen, die es in der Tabelle... |
|
|
|
|
|
G.
Guest
|
19.01.2006 11:23 |
|
|
Andre
Osburg
|
19.01.2006 11:26 |
|
|
G.
Guest
|
19.01.2006 13:48 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!