# Relationale Algebra



## julia1997 (1. Nov 2017)

Hallo kann mir jemand bei Aufgabe a) helfen?

Meine Lösung:
π Club.id, Club.name, Club.country (Club - (Tournament ⨝ (Tournament.id = Participation.tournamentId) Participation ⨝ ( Participation.playerId = Player.id) Player ⨝ (Player.clubId = Club.id) Club))

es kommt immer, dass die Typen nicht verleichbar sind


----------



## krgewb (2. Nov 2017)

Meines Wissens nach musst du "Tournament" gar nicht betrachten.


----------



## Leschge (3. Nov 2017)

Ich bin mir nicht sicher aber evt. so

SELECT c.id, c.name, c.country, c.address, c.zip
FROM Club c, Player p, Participation pa
WHERE c.id = p.clubId AND p.id = pa.playerId AND pa.playerID IS NULL
GROUP BY c.name


----------



## Meniskusschaden (3. Nov 2017)

Nein, das wird nicht funktionieren, denn p.id wird immer ungleich Null sein. Also kann pa.playerId nicht gleichzeitig gleich p.id und Null sein. Da wird wohl immer eine leere Ergebnismenge heraus kommen.
Eine Möglichkeit wäre folgende:

```
select *
from Club
where id not in (
  select distinct clubId
  from Player
  join Participation on playerId = Player.id
)
```


----------

