momo006
Grünschnabel
Hallo zusammen,
angemeldet im forum und schon ein problem
aber ich helf anderen auch gern.
ich habe folgendes problem mit joins. vorweg erstmal dies:
TABELLE 1
|hersteller|
---------------
|h_id | Firmenname
TABELLE 2
|hersteller_produkte|
-----------------------------
|p_id | h_id | cat_id| Produktname
TABELLE 3
|hersteller_assoc|
-------------------------
|h_id | cat_id |
TABELLE 4
|kategorien|
-----------------
|cat_id | cat_name | parent_id
nun möchte ich folgendes auslesen.
Firmenname - Kategorie - Produktname.
hiermit kann ich alle auslesen die eben in einer bestimmten cat_id sind. das tut auch. nur hat hier z.b. nicht jeder der firmen ein produkt. wenn eines vorhanden soller auch noch den produktnamen ausgeben. es kann ggf. auch sein das eine firma mehrere produkte hat.
nun meine frage: wie mach ich das mit einem join? left join oder inner join?
muss ich nochmals eine sog. lookup-table anlegen wo ich hersteller mit produkt verknuepfe? die TABELLE 3 verknüpft im moment nur TABELLE 1 mit TABELLE 4.
in der produkt-table stehen dann, wenn es ein neues produkt zu einer spez. kategorie und firma gibt, eben die nummern drin. diese tabelle hat keine lookup.
danke für Eure hilfe.
angemeldet im forum und schon ein problem
aber ich helf anderen auch gern.
ich habe folgendes problem mit joins. vorweg erstmal dies:
TABELLE 1
|hersteller|
---------------
|h_id | Firmenname
TABELLE 2
|hersteller_produkte|
-----------------------------
|p_id | h_id | cat_id| Produktname
TABELLE 3
|hersteller_assoc|
-------------------------
|h_id | cat_id |
TABELLE 4
|kategorien|
-----------------
|cat_id | cat_name | parent_id
nun möchte ich folgendes auslesen.
Firmenname - Kategorie - Produktname.
Code:
select hersteller.Firmenname
from hersteller, hersteller_assoc as AC
where AC.h_id = hersteller.id
and AC.cat_id = 446 order by hersteller.Firmenname ASC
hiermit kann ich alle auslesen die eben in einer bestimmten cat_id sind. das tut auch. nur hat hier z.b. nicht jeder der firmen ein produkt. wenn eines vorhanden soller auch noch den produktnamen ausgeben. es kann ggf. auch sein das eine firma mehrere produkte hat.
nun meine frage: wie mach ich das mit einem join? left join oder inner join?
muss ich nochmals eine sog. lookup-table anlegen wo ich hersteller mit produkt verknuepfe? die TABELLE 3 verknüpft im moment nur TABELLE 1 mit TABELLE 4.
in der produkt-table stehen dann, wenn es ein neues produkt zu einer spez. kategorie und firma gibt, eben die nummern drin. diese tabelle hat keine lookup.
danke für Eure hilfe.