hallo,
vielleicht kann mir hier jemand weiterhelfen. ich bin nicht sehr geübt im umgang mit datenbankabfragen und scheitere momentan an einer m.E. nach kleinen aufgabe.
um es zu abstrahieren, folgender sachverhalt.
ich habe eine tabelle hersteller (alle mit entsprechender ID und fremdschlüssel), eine tabelle produkte (ein produkt kann immer einem hersteller zugeordnet werden), eine tabelle lieferung (eine lieferung wird immer einem produkt zugeordnet, diese tabelle kann sehr sehr groß werden - mehrere millionen einträge, selbst wenn man die einträge auf einen einzelnen hersteller beschränkt) und eine tabelle lieferdienst (jede lieferung wird von einem lieferdienst erledigt).
nun möchte ich für einen ausgewählten hersteller abfragen, welche lieferdienste er in anspruch genommen hat. ich komme also um die riesige tabelle der lieferung nicht drumrum. gibt es trotzdem einen weg eine schnelle abfrage zu generieren?
mein bisheriger ansatz sah in etwa so aus:
select lieferdienst.name from lieferdienst, lieferung, produkt, hersteller
where hersteller.name = „hersteller_1“ and
hersteller.id = produkt.hersteller_id and
produkt.id = lieferung.produkt_id and
lieferung.lieferdienst_id = lieferdienst.id
group by lieferdienst.name
irgendwelche verbesserungsvorschläge? oder anregungen?
viele grüße,
July