UBAI Geschrieben 23. August 2002 Teilen Geschrieben 23. August 2002 Morgen erst mal. Ich habe ein "kleines" Problemchen. Vor lauter Programmierung seh ich hier aber leider die Lösung nicht :confused: Hier der DB - Aufbau: Tabelle Produkt: - Produkt_ID (PS) - Beschreibung - Größe - Pfad Tabelle Rubrik: - Rubrik_ID (PS) - Beschreibung Ein Produkt kann mehreren Rubriken zugewiesen sein ! Tabelle Produkt_Rubrik: - Produkt_ID (PS + Relat) - Rubrik_ID (PS + Relat) zu jedem Produkt können mehrere Details hinterlegt werden, wobei ein Detail aber nur zu einem Produkt gehört ! Tabelle Details: - Produkt_ID (PS + Relat) - Zeilennr. (PS) - Beschreibung So weit so gut. Jetzt hab ich aber folgende Konstelation: Ein User wählt eine Rubrik aus. Z.B. Rubrik "Anleitung" Er möchte jetzt alle Produkte sehen, die zu dieser Rubrik gehören. Das ist auch noch kein Problem. Jetzt will er aber auch nach einem Detail zu dieser Rubrik suchen. Also habe ich 2 Parameter. 1. die Rubrik, 2. die Detailbeschreibung. Wie kann ich beides in einer select - Abfrage gestalten ? Also die Rubrik muß in der Tabelle Produkt_Rubrik sein <- dadurch habe ich die Produkt_ID. Und bei diesen Produkten muß in der Tabelle Details muß die Beschreibungen dieses Produktes like '%Suchbegriff%' sein. Ich hab leider keine Lösung gefunden. Ich seh aber auch den Wald vor lauter Bäumen nicht mehr Gruß UBAI - Kaum macht mans richtig, schon funktionierts ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tauron Geschrieben 23. August 2002 Teilen Geschrieben 23. August 2002 Moin ! Probiers mal damit: SELECT * FROM ((Produkt INNER JOIN Details ON Produkt.Produkt_ID = Details.Produkt_ID) INNER JOIN Produkt_Rubrik ON Produkt.Produkt_ID = Produkt_Rubrik.Produkt_ID) INNER JOIN Rubrik ON Rubrik.Rubrik_ID = Produkt_Rubrik.Rubrik_ID WHERE Rubrik.Beschreibung="Anleitung" AND Details.Beschreibung="toll"; er fängt bei der innersten Klammer an und arbeitetet sich nach aussen durch, dann kannst Du mit der Where Klausel ganz normal das Ergebnis einschränken. Hoffe das hilft Dir weiter ! Gruß Christian ------------------------------------------------------------ "All power corrupts. Absolute Power is kinda neat though..." "50.000 gold a year in child care and they call it a CULT ?!?" - Kel'Thuzad, Archlich Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Meenzer Geschrieben 23. August 2002 Teilen Geschrieben 23. August 2002 HI! Hast Du eine Access DB?? Dann kannst Du Dir auch ganz einfach ein Abfrage machen, die in die SQL Ansicht schalten und voilà , schon hast Du Dein SQL mit all Deinen Joins. Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
UBAI Geschrieben 23. August 2002 Autor Teilen Geschrieben 23. August 2002 Super. Genau das wars. Hatte ich so in etwa auch. Nur hatte ich die Sch.. Klammern vergessen + verdrehter Join. Danke. Für alle die es interessiert hier der Quelltext ind Verbindung mit PHP. $sql = "SELECT distinct(P.Produkt_ID),P.Beschreibung,P.Größe,P.Pfad FROM ((Produkt P INNER JOIN Details D ON P.Produkt_ID = D.Produkt_ID) INNER JOIN Produkt_Rubrik PR ON P.Produkt_ID = PR.Produkt_ID) INNER JOIN Rubrik R ON R.Rubrik_ID = PR.Rubrik_ID WHERE R.Rubrik_ID = "; //1 and D.Beschreibung = 'test'"; $sql .= $rubrik; //wenn Suche ausgefüllt wurde if (! (empty($suche))) { $sql .= " AND D.Beschreibung like '%"; $sql .= $suche; $sql .= "%'"; } [/PHP] nicht schön aber es funktioniert. Gruß UBAI - Kaum macht mans richtig, schon funktionierts ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.