2017-10-18 2 views
-1

Ich habe in Stackoverflow Beispiele gesucht, aber keine haben mir Ergebnisse, ich habe eine Abfrage, in der "auswählen" gibt es einen Alias, den ich dann mit einem "LINKS verwenden muss OUTER JOIN ", um es mit der Spalte einer anderen Tabelle zu vergleichen, aber wenn ich es ausführe, erzeugt es einen Fehler unbekannter Spalte, ich habe gelesen, dass ein zweiter JOIN erforderlich ist, aber ich weiß nicht, wie es geht.Mysql - Alias ​​in Left Outer Join geben Fehler

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(embed, '/', -2), '"', 1) as idvideo, embed, thumbnail, title, 
MATCH(title, tags, category) AGAINST('peruvian food') as score 
FROM peruvian_food 
LEFT OUTER JOIN peruvian_food_del ON (peruvian_food.idvideo = peruvian_food_del.id_video_del) 
WHERE MATCH(title, tags, category) AGAINST('peruvian food' IN BOOLEAN MODE) 
AND peruvian_food_del.id_video_del IS NULL 
LIMIT 30 

Ich erhalte die folgende Fehlermeldung:

#1054 - Unknown column 'idvideo' in 'on clause' 

Antwort

1

Der Fehler wird sagen, dass die Tabelle peruvian_food keine Spalte idvideo genannt enthält.

Wenn wir versuchen, den Ausdruck in der SELECT-Liste zu referenzieren, der der Aliasname idvideo zugewiesen ist, ist dieser Verweis in der ON-Klausel innerhalb desselben SELECT nicht zulässig. Selbst wenn eine solche Referenz zulässig wäre, würden wir sie nicht mit dem Tabellennamen peruvian_food. qualifizieren; In dieser Tabelle befindet sich keine Spalte idvideo.

Simplest Abhilfe ist, den Ausdruck in der SELECT-Liste verwendet wiederholen:

ON (SUBSTRING_INDEX(SUBSTRING_INDEX(peruvian_food.embed, '/', -2), '"', 1) = ... 

Wenn wir die idvideo alias verweisen müssen, würden wir eine Inline-Ansicht verwenden müssen, so dass der Spaltenname stammte von einer abgeleiteten Tabelle.

Wir erraten nur die Spezifizierung ... was wir erreichen wollen. (Ich bin mir nicht einmal sicher, dass eine Frage gestellt wurde; es liest sich eher wie ein Statusbericht als eine Frage, also erraten wir auch, welche Frage gestellt wird.)

+0

ist es wahr! ty für deine Hilfe! – Kokox