Join Join Join

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

  • Join Join Join

    hi alle,
    ich versuche drei tabellen zu verknüpfen und eine ergebnisstabelle auszugeben. soweit so gut.
    Dabei will ich eine schnittmenge der ersten beiden tabellen (nT und mT) ausgeben, die dritte ist nur für die where klausel wichtig (M_Kunden).

    also...es sah mal vereinfacht so aus:

    SELECT M_Kunden.KundeID, $firmtab.JobID, M_Kunden.Name, $firmtab.Objekt, $firmtab.Datum, $firmtab.Bemerkung

    FROM $firmtab, M_Kunden

    WHERE
    $firmtab.JobID='$search' AND
    $firmtab.KundeID=M_Kunden.KundeID AND
    $firmtab.Objekt LIKE '%$objekt%' AND
    $firmtab.Datum >= '$von' AND $firmtab.Datum <= '$bis' AND
    $firmtab.KundeID=$KundeID

    ORDER BY name

    ...wobei $firmtab mal die eine, mal die andere tabelle festlegte (nT oder mT). nur bekomm ich so nicht die datensätze beider tabellen (nT und mT).
    Diese sind aber bis auf die hier verwendeten Felder JobID, Objekt, Datum und Bemerkung völlig unterschiedlich.

    Wie würde so ein JOIN aussehen? Nachdem die Ausgabe erfolgt arbeite ich mit den Datensätzen der beiden Tabellen separat weiter, nur die Ausgabe einer Schnittmenge macht Probleme.
    Hab schon einiges probiert und würde mich über jeden Tip der weiterhilft freuen.


    thx

    ______________
    stellarid

  • #2
    Irgendwie versteh ich grad nicht ganz was dein Problem ist.
    Am Anfang schreibst du, das du einen drei Tabellen Joinen möchtest.
    Wenn ich aber Dein SQL Statement anschaue, sehe ich nur einen Join zwischen der Tabelle M_Kunden und der Tabelle nT oder mT.

    Sehe ich das richtig?
    Kannst du Dein Problem in beisschen genauer beschreiben.
    Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

    Kommentar


    • #3
      ja, schwierig aber ich versuchs.
      hab das problem momentan im griff, indem ich beide tabellen nacheinander verabreite.

      trotzdem...

      du hast das richtig gesehen mit dem join zwischen Nt oder mT und M_Kunden. ich würde aber gerne z.B. alle Datensätze die ein bestimmtes Merkmal haben (KundenID = 10) aus beiden Tabellen (nT und MT) mit der M_Kunden joinen. Die beiden NT und mT sind aber strukturell unterschiedlich (bis auf die o.g.), logisch weil ja jeweils eine Tabelle.

      Jetzt joine ich zuerst mT mit M_Kunden, verarbeite es und mache den output, und dann die nächste. Aber ich bin mir sicher das das auch in einem SELECT gehen muss, stimmts?

      Kommentar


      • #4
        also wenn ich dich richtig verstehe, willst du ein UNION
        also alle Ergebnisse deiner 1. Abfrage + alle Ergebnisse
        deiner 2. Abfrage.

        Das geht wohl erst mit MySQL 4
        oder man benutzt was selbstgebautes
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar

        Lädt...
        X