Tabelle Grafik und Grafiktext - will Ergebnis auch wenn kein Text vorhanden

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

  • Tabelle Grafik und Grafiktext - will Ergebnis auch wenn kein Text vorhanden

    Hallo Zusammen,

    ich habe eine Datenbank mit 3 Tabellen die Grafikinfomationen enthalten, erste Tabelle (pictures_objects) enthält die Sortierung, dann jeweils eine Tabelle für der entsprechenden URL (pictures) und eine mit beschreibungstexten (pictures_text).

    Für jeden Eintrag in der Tabelle pictures_objects gibt es einen entsprechenen Eintrag in der Tabelle pictures mit dem Dateinamen. ABER was es NICHT zu jedem pictures_objects Eintrag gibt ist ein Text aus Tabelle pictures_text. Dieser Wert ist optional.

    Führe ich nun folgende Abfrage aus bekomme ich im Result nur Records die auch einen Text enthalten. Ich möchte aber auch die Einträge zurückbekomme die keinen Text enhalten mit entsprechendem leeren Feld.
    PHP-Code:
    SELECT
          pictures_objects
    .picid
          
    pictures_objects.sort
          
    pictures.filename
          
    pictures_text.text
    FROM 
    (pictures_objects INNER JOIN pictures
    ON pictures_objects
    .picid pictures.picid)
    RIGHT JOIN pictures_text
    ON pictures_objects
    .picid pictures_text.picid
    WHERE pictures_objects
    .oid 1
    and pictures_text.language "D"
    ORDER BY pictures_objects.sort 
    Wie kann ich das in einer Abfrage lösen?

    Ich weiss der Tabellenaufbau macht so wenig sinn und könnte vereinfacht werden jedoch werden mir die Tabellen vom System so vorgegeben und ich habe darauf keinen Einfluss.

    Vielen Dank und viele Grüße.

  • #2
    LEFT statt RIGHT sollte helfen.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      danke aber,

      auch mit LEFT bekomme ich trotzdem nur Ergebnisse die einen Text in tabelle pictures_text enthalten bzw. es wo es eine relation zwischen pictures_objects und pictures_text gibt.

      Vielleicht nochmal um es klarer zu machen: Wenn es keinen Text gibt ist nicht das Feld in pictures_text.text nicht einfach nur leer oder NULL sondern es extistiert KEIN Datensatz mit der relation auf picid (pictures_objects.picid = pictures_text.picid).

      Hoffe ich habe mich verständlich ausgedrückt.

      Kommentar


      • #4
        Ja, und deine Antwort ist LEFT JOIN.
        Wenn das nicht klappt ist irgendetwas von deinen Angaben falsch, oder dein Query, oder dein Verständnis vom Query, oder der Pluto steht im Orion und sein abgestrahltes Licht entspricht den Wellen des Grades 500nm ~~

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar

        Lädt...
        X