Id Ausgabe von einer Zuweisungstabelle

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

  • Id Ausgabe von einer Zuweisungstabelle

    Hi,

    habe folgendes Problem.

    Ich möchte aus einer Zuweisungs-Tabelle mir Farhzeuge (ID´s) ausgeben lassen die bestimmte Details (ID´s) haben.

    z.B. Ich möchte alle Fahrzeug-ID´s ausgeben lassen die das Detail 3 und 4 haben.

    So stehen die Daten in der Tabelle:

    ID Fahrzeug | ID Details
    3 | 16
    4 | 16
    3 | 17
    5 | 17
    ....

    Mit folgenden Query kann ich zwar alle Fahrzeuge auswählen mit den Detail ID 3 oder 4:

    SELECT * FROM ardb_fahrzeuge_details WHERE d_id=3 OR d_id=4

    Aber ich möchte nur Fahrzeuge auswählen die 3 und 4 haben. MIt "AND" geht es nicht das es sich ja auf die Ziele bezieht.

    Ich hoffe es kann jemand mit meiner Formulierung was anfangen und mir einen Tip geben.

    Michael Lämmlein

  • #2
    Hallo,

    was du brauchst ist hier zu finden.

    Gruss
    Quetschi
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      Hi,

      das bezieht sich aber auf mehrere Tabellen.

      Ich möchte aus einer Tabelle die ID ausgelesen haben.

      Ich denke das man das mit einer art nach selektierung machen muss.

      by
      Michael

      Kommentar


      • #4


        wenn du zweimal die selbe tabelle verwendest, wieviel tabellen sind das dann? tip: ich habe die zahl schon in meine frage eingebaut.

        wenn du es besser weißt, dann mach es so, wie du denkst.

        alternativ: verwende OR, gruppiere und wähle nur die einträge, die zwei ergebnisse liefern.

        edit: => ids
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Nönö du, guck dir das mit den JOIN's nochmal genauer an, das geht schon.

          alternativ: verwende OR, gruppiere und wähle nur die einträge, die zwei ergebnisse liefern.
          Aber es ginge doch viel schöner
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            Tut mir leid leute,

            ich raffe es einach nicht.

            Wie würde das in meinem Fall in einem Query aussehen ?

            bye
            Michael

            Kommentar


            • #7
              Habs grad mal mit einer ähnlichen Tabelle bei mir getestet, komm jetzt auch grad ned dahin wo du hinwillst.

              Werd bei Gelegenheit weiter probieren und hier posten falls ich doch noch dahinterkomm.

              Gruss
              Quetschi
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                hmm,
                OffTopic:
                ich finde die nicht-join-methode, wenn sie denn funktioniert, schöner ...

                ich raffe es einach nicht.
                was hast du denn probiert?

                bei der join-version joinst du die tabelle mit sich selbst auf der einen id (du hast dich in deinem ersten beitrag so konfus ausgedrückt, daß ich nicht genauer werden kann) und schaust dann, ob die spalten jeweils dieses oder jenes enthalten.

                zur nicht-join-version habe ich schon geschrieben, was du machen mußt.
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  @der Hund

                  ich glaub laemmi hat die beiden Spaltennamen bei der Erklärung seiner Tabelle vertauscht, ansonsten wär die Fragestellung wirklich etwas konfus.

                  Wie hätte da dann deine Join Methode ausgesehen? Mittlerweile rück ich da auch grad davon ab, hab zwar jetzt was hinbekommen, was die gewünschten Ergebnisse liefert aber profesionell erscheint mir die Query ned grad.
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #10
                    Hi,

                    genau ich hab in meiner Erklärung die beiden Spalten vertauscht.
                    So ein mist.

                    Ich habe es durch eure Hilfe dann doch hinbekommen.

                    Mein Query sieht folgendermassen aus:

                    SELECT * FROM ardb_fahrzeuge_details WHERE d_id=3 OR d_id=4 GROUP BY f_id HAVING count(f_id)=2

                    obs nun besonders elegant ist, ist mir wurscht, hauptsache es geht

                    merci an euch

                    Kommentar


                    • #11
                      Bin mir gar nicht mehr so sicher ob's via JOIN überhaupt eleganter geworden wäre, mein Ansatz hat sich da als etwas unperformant erwiesen.
                      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                      Schön - etwas Geschichte kann ja nicht schaden.
                      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                      Kommentar

                      Lädt...
                      X