Michael Schröpl: Nachtrag

Beitrag lesen

Hi Erik,

Also konkret sähe mein Anfrage folgendermaßen aus:
SELECT a.a, a.b, b.*, c.* FROM a, b, c WHERE a.a='x'
AND a.b=b.b AND a.b=c.b

Das gibt dann eine Zeile zurück. Das sollte doch auch
kein größerer Aufwand sein, als das ganze mit drei
SELECT zu machen, oder?

Mir ist völlig unklar, wie Du das mit drei SELECTs semantisch äquivalent hinkriegen willst.
(Jedes Deiner drei Statements kann beliebig viele Treffer liefern - und die müßtest Du dann in Deinem Anwendungsprogramm ausmultiplizieren. Das allerdings ist nicht der Sinn von SQL.)

Es sei denn, b ist unique in _jeder_ Deiner Tabellen - dann allerdings wäre Deine relationale Zerlegung untauglich, weil dann alle Daten in eine einzige Tabelle gehören (so daß sich Deine Frage gar nicht mehr stellen würde).

Viele Grüße
      Michael