2016-04-06 13 views
0

Ich kann keine linke Verknüpfung in meiner vorbereiteten Anweisung arbeiten.Linke Verknüpfung funktioniert nicht in meiner vorbereiteten Anweisung (mysqli)

"SELECT DISTINCT(a.auto_id), m.merk, a.model, a.uitvoering, a.standaardtekst, a.prijs, a.prijs2, a.prijs3, a.handelsprijs, a.aanmaak, s.soort, z.prijs_id 
/*,GROUP_CONCAT(DISTINCT(apc.NL) ORDER BY apc.NL ASC)*/ 

FROM autocom_new.auto_new a 
INNER JOIN autocom_new.tbl_merken m 
ON a.merk = m.merk_id 
INNER JOIN autocom_new.tbl_soort s 
ON a.soort = s.soort_id 
INNER JOIN autocom_new.auto_zoekmachines z 
ON a.auto_id = z.auto_id 

/* 
LEFT JOIN autocom_new.auto_accessoire acc 
ON a.auto_id = acc.auto_id 
LEFT JOIN autocom_new.tbl_autopricecode_new apc 
ON acc.code_id = apc.code_id 
*/ 

WHERE a.ac LIKE ? AND a.flag = ?" 

Die kommentierten Teile sind die Teile, die nicht funktionieren. Ich habe keine Ahnung, was ich falsch mache.

BEARBEITEN Zuerst habe ich vergessen, dass beide Tabellen eine Spalte ac haben, also habe ich die where-Anweisung ein wenig geändert. Die linken Verbindungen funktionieren jetzt, aber das Teil in der Auswahl funktioniert immer noch nicht.

+0

Es gibt keine Beziehung zwischen Joins und vorbereiteten Anweisungen. Jede Abfrage, die roh funktioniert, funktioniert auch, wenn sie vorbereitet wird. Also, debuggen Sie Ihre SQL. –

+0

Wenn ich die Abfrage nur ausführen, wird es mir 1 Zeile geben. (was mehr sein sollte) und wenn ich diese Abfrage in die vorbereitete Anweisung lege, bekomme ich überhaupt keine Zeile. –

+0

Bitte zeigen Sie Tabellendefinitionen, Primär- und Fremdschlüssel an. –

Antwort

0

Also das Problem war, dass ich eine GROUP BY vergessen habe.

"SELECT DISTINCT(a.auto_id), m.merk, a.model, a.uitvoering, a.standaardtekst, a.prijs, a.prijs2, a.prijs3, a.handelsprijs, a.aanmaak, s.soort, z.prijs_id, 
GROUP_CONCAT(DISTINCT(apc.NL) ORDER BY apc.NL ASC) 

FROM autocom_new.auto_new a 
INNER JOIN autocom_new.tbl_merken m 
ON a.merk = m.merk_id 
INNER JOIN autocom_new.tbl_soort s 
ON a.soort = s.soort_id 
INNER JOIN autocom_new.auto_zoekmachines z 
ON a.auto_id = z.auto_id 

LEFT JOIN autocom_new.auto_accessoire acc 
ON a.auto_id = acc.auto_id 

LEFT JOIN autocom_new.tbl_autopricecode_new apc 
ON acc.code_id = apc.code_id 

WHERE a.ac LIKE ? AND a.flag = ? 
GROUP BY a.auto_id" 
+0

Warum der Downvote? –

Verwandte Themen