Brauche bitte Hilfe bei einer Abfrage über mehrere Tabellen

Yankyy02

Neuer Benutzer
Beiträge
3
Hallo zusammen,

wie die das Thema schon verrät bräuchte ich Hilfestellung bei einer Abfrage die mehrere Tabellen beinhaltet.
Ich habe eine Tabelle Felgen die Felgendaten enthält und eine Tabelle Reifen die Reifendaten enthält. Beide Tabellen verweisen jeweils noch auf andere Tabellen zum Beispiel wird die Dimension eines Reifens nur in Form einer ID in der Tabelle Reifen gespeichert. Diese läßt sich ja ohne weiteres dazu JOINEN.

Nun zum eigentlichen Problem und zwar möchte ich passend zu einem Fahrzeug die Felgen sowie Reifen auswählen. Ich hätte mir gedacht dies über eine zusätzliche Tabelle zu realisieren wo jeweils nur die FahrzeugID, FelgenID und DimensionsID abgespeichert ist und so mir alle Daten abzufragen nur leider scheitert jeglicher Versuch.

Mittlerweile habe ich mich so verannt das ich nichtmehr weiter weis.

Es wäre sehr nett wenn mir jemand einen Tipp geben könnte wie ich an die Sache herangehen muss/kann bzw. ob ich nicht bei der Erstellung der Tabellen nicht bereits einen Fehler begangen habe.

Da das Thema SQL und SQL Server noch sehr neu für mich ist bitte ich um etwas Rücksicht.

Vielen Dank schonmal.

MfG
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.523
Hallo zusammen,

wie die das Thema schon verrät bräuchte ich Hilfestellung bei einer Abfrage die mehrere Tabellen beinhaltet.
Ich habe eine Tabelle Felgen die Felgendaten enthält und eine Tabelle Reifen die Reifendaten enthält. Beide Tabellen verweisen jeweils noch auf andere Tabellen zum Beispiel wird die Dimension eines Reifens nur in Form einer ID in der Tabelle Reifen gespeichert. Diese läßt sich ja ohne weiteres dazu JOINEN.

Nun zum eigentlichen Problem und zwar möchte ich passend zu einem Fahrzeug die Felgen sowie Reifen auswählen. Ich hätte mir gedacht dies über eine zusätzliche Tabelle zu realisieren wo jeweils nur die FahrzeugID, FelgenID und DimensionsID abgespeichert ist und so mir alle Daten abzufragen nur leider scheitert jeglicher Versuch.

Mittlerweile habe ich mich so verannt das ich nichtmehr weiter weis.

Es wäre sehr nett wenn mir jemand einen Tipp geben könnte wie ich an die Sache herangehen muss/kann bzw. ob ich nicht bei der Erstellung der Tabellen nicht bereits einen Fehler begangen habe.

Da das Thema SQL und SQL Server noch sehr neu für mich ist bitte ich um etwas Rücksicht.

Vielen Dank schonmal.

MfG


Was genau ist denn Dein Problem?

Code:
test=# create table auto (id int primary key, name text);
CREATE TABLE
Time: 9,101 ms
test=*# create table felge (id int primary key, name text);CREATE TABLE
Time: 2,932 ms
test=*# create table reifen (id int primary key, name text);CREATE TABLE
Time: 12,702 ms
test=*# create table auto_felge_reifen (id_auto int references auto, id_felge int references felge, id_reifen int references reifen);
CREATE TABLE
Time: 3,917 ms
test=*# insert into auto values (1,'meine');INSERT 0 1
Time: 0,426 ms
test=*# insert into felge values (1, 'Alu');INSERT 0 1
Time: 0,447 ms
test=*# insert into reifen values (1, 'sehr breit');INSERT 0 1
Time: 0,691 ms
test=*# insert into auto_felge_reifen values (1,1,1);
INSERT 0 1
Time: 1,331 ms
test=*# select a.name, f.name, r.name from auto_felge_reifen afr left join auto a on afr.id_auto=a.id left join felge f on afr.id_felge=f.id left join reifen r on afr.id_reifen=r.id;
 name  | name |  name
-------+------+------------
 meine | Alu  | sehr breit
(1 row)

Hab ich das halbwegs richtig erraten?
 

Yankyy02

Neuer Benutzer
Beiträge
3
Hallo und Danke für deinen Beitrag!

Ja genau so wollt ich es haben! Hab mittlerweile noch herumprobiert und folgendes gemacht:

SELECT rh.Hersteller, rd.Dimension, r.Profil, f.Design, fh.FelgenHersteller, fa.FelgenAbbildung
FROM Komplettraeder k
INNER JOIN Reifen r ON r.Dimension = k.DimensionsID
INNER JOIN ReifenHersteller rh ON rh.HerstellerID = r.ReifenHersteller
INNER JOIN ReifenDimensionen rd ON rd.DimensionID = r.Dimension
INNER JOIN Felgen f ON k.FelgenID = f.FelgenID
INNER JOIN FelgenHersteller fh ON f.FelgenHersteller = fh.HerstellerID
INNER JOIN FelgenAbbildungen fa ON fa.FelgenID = f.Abbildung
WHERE k.FahrzeugID = 1

Ergebniss passt soweit nur wie ich eingangs erwähnt habe bin ich noch sehr unsicher in sachen SQL
drum bitte ich dich noch mir zu sagen ob das so auch in Ordung geht!?

Danke nochmals!
 
Werbung:
Oben