Ergebnis 1 bis 7 von 7

Thema: JOIN im MetaModels Attribute "Eigenes SQL"

  1. #1
    Contao-Nutzer
    Registriert seit
    11.03.2015.
    Ort
    Österreich
    Beiträge
    59

    Standard JOIN im MetaModels Attribute "Eigenes SQL"

    Hallo Leute!

    Mit ist aufgefallen dass ein JOIN im MetaModels Attribute "Eigenes SQL" nicht funktioniert bzw. keine Ergebnisse (ohne Fehlermeldung) zurückliefert.

    Funktioniert nicht:
    Code:
    select * 
    from mm_mytable
    join tl_metamodel_translatedtext on tl_metamodel_translatedtext.id = mm_mytable.cathegory
    where tl_metamodel_translatedtext.att_id = 23 
    and tl_metamodel_translatedtext.item_id = 1
    Funktioniert:
    Code:
    select * 
    from mm_mytable
    where cathegory = (select id from tl_metamodel_translatedtext where att_id = 23 and item_id = 1)
    Ist dieses Problem bereits bekannt oder mache ich einen Fehler?

    Hier wurde schon einmal auf dieses Thema eingegangen (leider ohne Lösung):
    https://community.contao.org/de/show...-kein-Ergebnis
    Geändert von Flash (05.06.2015 um 11:18 Uhr)
    Liebe Grüße
    Flash

  2. #2
    Contao-Fan Avatar von WilhelmTell
    Registriert seit
    12.12.2014.
    Beiträge
    316

    Standard

    und mit INNER JOIN geht's dann ?

  3. #3
    Contao-Nutzer
    Registriert seit
    11.03.2015.
    Ort
    Österreich
    Beiträge
    59

    Standard

    Hallo!
    Eine "inner join" statt einer "join" (beide bewirken das gleiche) Schreibweise hat leider auch nichts geholfen

    Eine Implizite Schreibweise leider auch nicht:
    Code:
    select * 
    from mm_mytable, tl_metamodel_translatedtext
    where tl_metamodel_translatedtext.id = mm_mytable.cathegory
    and tl_metamodel_translatedtext.att_id = 23 
    and tl_metamodel_translatedtext.item_id = 1
    Geändert von Flash (05.06.2015 um 12:02 Uhr)
    Liebe Grüße
    Flash

  4. #4
    Contao-Fan Avatar von WilhelmTell
    Registriert seit
    12.12.2014.
    Beiträge
    316

    Standard

    Zitat Zitat von Flash Beitrag anzeigen
    oder mache ich einen Fehler?
    Ich meine schon.
    mm_mytable.cathegory hat doch nichts mit tl_metamodel_translatedtext zu tun ?
    Und die id der Tabelle tl_metamodel_translatedtext wird doch meines Erachtens nirgens benutzt (ausser eventuell zum Sortieren.
    Das heisst, dass die Query an sich, so wie ich das sehe, überhaupt keinen Sinn ergibt. Tut mir leid, falls ich recht habe.

  5. #5
    Contao-Nutzer
    Registriert seit
    11.03.2015.
    Ort
    Österreich
    Beiträge
    59

    Standard

    Na sicher doch in der Spalte cathegory steht die ID von der Tabelle tl_metamodel_translatedtext.
    Wenn ich den select in PhpMyAdmin ausführe, dann komme ich zum richtigen Ergebnis.

    Übersetzter select:
    http://de.contaowiki.org/MetaModels_...setzter_select
    Liebe Grüße
    Flash

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.786
    User beschenken
    Wunschliste

    Standard

    Hallo Flash,

    sofern sich das nicht inzwischen geändert hat, könnte folgender Hinweis noch stimmen:

    Der "Eigene SQL-Code" bei Filter kann nicht zum Erweitern der Ergebnisse eingesetzt werden, sondern nur um aus der (Ursprungs-)Menge M eine Teilmenge Mt1 zu ziehen - daher macht es keinen Unterschied, ob Du "Select * From..." oder "Select id From..." schreibst.

  7. #7
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Ja, die Filter geben nur die IDS der Elemente zurück. Da liegt auch das Problem der Abfrage mit SELECT *. Die Spalte ID ist dann nicht eindeutig. mach mal ein SELECT mm_mytable.id.

    Gesendet vom Smartphone

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •