Großes Abfrage-Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Großes Abfrage-Problem

    Moin moin,

    ich habe eine Datenbank mit mehreren Tabellen, in der einen sind Zutaten in der Anderen sind die Zutaten auf das jeweilige Rezept in je eine Spalte eingegeben. Leider bekomme ich die richtige Abfrage nicht hin, ich hoffe mir kann hier jemand helfen denn ich habe jetzt schon 3 Stunden versucht das Problem zu lösen...

    Hier mal die Abfrage bei der ich keine Ausgabe erhalte:
    PHP-Code:
    SELECT FROM mixdrinkzutatenmengenglaeser 
    WHERE mixdrink
    .mixdrinkid LIKE '$id' 
    AND mixdrink.zutat1 zutaten.zutatenid 
    AND mixdrink.menge1 mengen.mengenid 
    AND mixdrink.zutat2 zutaten.zutatenid 
    AND mixdrink.menge2 mengen.mengenid 
    AND mixdrink.zutat3 zutaten.zutatenid 
    AND mixdrink.menge3 mengen.mengenid 
    AND mixdrink.glas glaeser.glaeserid 
    AND mixdrink.deko zutaten.zutatenid 
    Danke im Voraus für die Tipps

  • #2
    vielleicht mal systematisch vorgehen? zu erst die id, unter der voraussetzung, es ist eine zahl, aus den ' raus, dann alle bedingungen raus und schritt für schritt hinzu bis ...

    vielleicht auch mal nen exemplarischen dump deiner tabellen ...
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      ach du sch****

      @timm-c
      ich lege dir mal JOINs an herz. hier im sql-forum gibt es auch einen schönen sticky dazu.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        So ich habe es jetz mit left join so hinbekommen, dass ich den Drink ausgegeben bekomme welchen ich suche...

        PHP-Code:
        SELECT 
        FROM mixdrinkglaeser
        LEFT JOIN zutaten ON 
        mixdrink.zutat1 zutaten.zutatenid ) AND (
        mixdrink.zutat2 zutaten.zutatenid
        ) AND (
        mixdrink.zutat3 zutaten.zutatenid
        ) AND (
        mixdrink.zutat4 zutaten.zutatenid
        ) AND (
        mixdrink.zutat5 zutaten.zutatenid
        ) AND (
        mixdrink.zutat6 zutaten.zutatenid
        ) AND (
        mixdrink.zutat7 zutaten.zutatenid
        ) AND (
        mixdrink.zutat8 zutaten.zutatenid
        ) AND (
        mixdrink.zutat9 zutaten.zutatenid
        ) AND (
        mixdrink.zutat10 zutaten.zutatenid
        ) AND (
        mixdrink.zutat11 zutaten.zutatenid
        ) AND (
        mixdrink.zutat12 zutaten.zutatenid
        ) AND (
        mixdrink.zutat13 zutaten.zutatenid
        ) AND (
        mixdrink.zutat14 zutaten.zutatenid
        ) AND (
        mixdrink.zutat15 zutaten.zutatenid
        )
        LEFT JOIN mengen ON mixdrink.menge1 mengen.mengenid ) AND (
        mixdrink.menge2 mengen.mengenid
        ) AND (
        mixdrink.menge3 mengen.mengenid
        ) AND (
        mixdrink.menge4 mengen.mengenid
        ) AND (
        mixdrink.menge5 mengen.mengenid
        ) AND (
        mixdrink.menge6 mengen.mengenid
        ) AND (
        mixdrink.menge7 mengen.mengenid
        ) AND (
        mixdrink.menge8 mengen.mengenid
        ) AND (
        mixdrink.menge9 mengen.mengenid
        ) AND (
        mixdrink.menge10 mengen.mengenid
        ) AND (
        mixdrink.menge11 mengen.mengenid
        ) AND (
        mixdrink.menge12 mengen.mengenid
        ) AND (
        mixdrink.menge13 mengen.mengenid
        ) AND (
        mixdrink.menge14 mengen.mengenid
        ) AND (
        mixdrink.menge15 mengen.mengenid
        )
        WHERE mixdrink.mixdrinkid =AND mixdrink.glas glaeser.glaeserid 
        leider fehlt mir hier jetzt für die zutat1 - zutat15 und menge1 - menge15 jeweils die Bezeichnung aus der jeweiligen Tabelle.

        z.B. menge1 wäre eigentlich "liter" und zutat1 = "Wodka"

        kann mir da jemand einen Denkanstoss geben bitte...

        Danke und Gruß

        Kommentar


        • #5
          Hallo timm-c

          Warum hast Du die Zutaten denn in 15 Spalten ????

          In Zeilen sind sie
          1. nicht auf 15 begrenzt,
          2. andere (zukünftige?) Auswertungen gehen dann auch viel einfacher

          (z.B . welchen Mix kann ich mit 5 bestimmten Zutaten machen?
          Wenn ich das recht sehe, 5 Zutaten x 15 Spalten -> ein Where mit 75 Konditionen!!)

          Am besten gleich (Stichwort Relational) in eine neue Tabelle mit den Zutaten.

          Kommentar


          • #6
            Hier die Antwort zur nächsten Frage

            Kommentar


            • #7
              und hier die Antwort für weitere Fragen

              Kommentar

              Lädt...
              X