Jump to content

JOIN im SQL Manager


Psephit

Recommended Posts

Hallo ihr Lieben,

ich versuche seit mittlerweile mehreren Tagen im SQL Manager (im Backend) eine Abfrage mit JOIN zu erstellen bekomme immer die Fehlermeldung "Falsche SQL-Abfrage". Alles was ich bisher im Netz recherchieren konnte, weisst darauf hin, dass es eigentlich kein Problem sein sollte.

Ich bin mehr oder weniger Laie und kratze nur an der Oberfläche, also bitte verzeiht mir evtl. komische Rückfragen oder unzureichende Informationsgabe.

tynw_ ist das Prefix meiner Tabellen. Abfragen auf einzelne Tabellen funktioniert wunderbar. Nur sobald ich versuche die Funktion JOIN zu nutzen kommt die Fehlermeldung.

Habe ich irgendeinen Fehler in der Syntax?

select tynw_orders.*, tynw_order_detail.*
From  tynw_orders left join tynw_order_detail ON tynw_orders.id_orders =  tynw_order_detail.id_orders
ORDER BY  id_order DESC
LIMIT 10

Ich arbeite mit PS 8.1.6 und einer MariaDB 10.6.15

vielen Dank schon mal im voraus für Eure Unterstützung.

 

Greenshot 2024-11-18 17.00.44.png

Link to comment
Share on other sites

Hi,

 

danke für die schnelle Rückmeldung. 
ja, der Screenshot ist fehlerhaft. Habe ich leider erst jetzt gesehen. Die Query selbst war mit den *, bzw. ich hatte es auch mit definierten Feldern versucht. 
 

habe in phpMyAdmin zwischenzeitlich folgende Query getestet, die exakt das gewünschte Ergebnis liefert. Denke also, dass ich die (Basic) Syntax von SQL verstanden habe. 

SELECT mid(product_name,38,7) AS Konzerttag, SUM(product_quantity) AS Menge
FROM tynw_order_detail
left join tynw_orders
ON tynw_order_detail.id_order = tynw_orders.id_order
WHERE tynw_order_detail.product_attribute_id in ('1','2','3','4','5','6')
    AND tynw_order_detail.product_name LIKE '%eTicket%'
    AND tynw_orders.current_state IN ('17', '19', '4','2')
GROUP BY Konzerttag
ORDER BY tynw_order_detail.id_order DESC

Die Selbe Query in PS gibt den Fehler wie im Hauptpost beschrieben. 

Link to comment
Share on other sites

Schau die mal die genaue Fehlermeldung im Error log oder bei aktivierten Debug Modus an. Hatte das Szenario kürzlich bei einem Kunden mit dem Fehler "count on string" - das scheint mir ein Bug mit PHP8 zu sein den ich durch einen Override behoben habe.

Link to comment
Share on other sites

Hi @JBW

Danke für Deine Antwort. Allerdings muss ich gestehen, dass das mein aktuelles Wissen übersteigt. Wie man an die Error Logs kommt weiss ich nicht und ein Override projiziert Fragezeichen in meinem Kopf 😉 

Ist nicht böse gemeint und ich schätze Dein Bemühen. Allerdings schließe ich daraus, dass 

1. ich nicht zu doof bin eine einfach SQL Abfrage zu erstellen
2. Das Problem eher bei der PHP Version liegt und ich
2.1. Nicht in der Lage bin das selbst zu lösen.

 

Dann hoffe ich, dass es irgendwann mal ein Patch/Update dafür gibt und ich dann erfolgreich sein werde.

 

Danke,
Nic

PS: ich hatte eigentlich gehofft, dass ich das Problem bin, dann wäre eine Lösung aussichtsreicher gewesen 😉

 

Link to comment
Share on other sites

Debug modus zum Anzeigen der Fehler kann unter Erweiterte Einstellungen -> Leistung aktiviert werden. Override brauchst du nicht zwingend, du kannst die Änderung aus dem Link auch direkt in der Core-Datei machen (in diesem Fall ok, da gefixter Bug) - offiziell geht das erst mit PS9 live.
 

Also in Datei /classes/RequestSQL.php in Zeile 325 die beiden eckigen Klammern hinzufügen.

grafik.thumb.png.badd9fdf3eeeb2f27151155dacd01d6a.png

 

Link to comment
Share on other sites

Danke für die Beginner-friendly Anleitung.

die RequestSql.php habe ich entsprechend geändert und per ftp hochgeladen. Hat aber leider nicht den gewünschten Effekt gebracht. Fehlermeldung kommt weiterhin.

Debug ist aktiviert, mir wird jetzt unten auf der Seite etwas angezeigt (Infoleiste).
Wenn ich da klicke komme ich in den "Symfony Profiler". Das sind allerdings böhmische Dörfer für mich.
Habe mich da mal bisschen durchgewühlt aber für mich nichts aussagekräftiges entdeckt. Gibt es da gezielt eine Info die verwertbar ist?

Greenshot 2024-11-19 18.11.42.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...