2017-10-20 3 views
0

SQL-Abfrage Nach wirft Fehlermysql - Unbekannte Spalte In Where-Klausel

1054 - Unknown column 'registered_user_detail.user_id' in 'where clause'

Abfrage:

SELECT 
    `user_feedback`.`user_id`, 
    `user_feedback`.`feedback_status`, 
    `registered_user_detail`.`user_id` 
FROM 
    `user_feedback`, 
    `registered_user_detail` 
WHERE 
    `registered_user_detail.user_id` = `user_feedback.user_id` AND `user_feedback.feedback_status` = 1 
ORDER BY 
    `user_feedback.feedback_id` 
DESC 

Ich habe sowohl "user_feedback" -Tabelle als auch "registred_user_detail" -Tabelle; auch die Spalte "user_id" in beiden Tabellen. Was läuft dann falsch?

+0

Ihre Anfrage spezifiziert Tabelle und das Feld als '\' user_feedback.user_id \ '', wo es sollte '\' user_feedback \ 'sein. \' User_id \ '' (für alle anderen Tabellen und Felder) –

+0

@Da Wie habe ich diese Art von Fehler gemacht ?? Allerdings viele viele Dank Damir Kasipovic –

Antwort

1

Sie haben das punctuationmark Symbol verpasst in where-Klausel, korrekte Verwendung ist: (punchmark) Tabellenname (punchmark) (punchmark) column (punchmark).. Bitte versuchen Sie Folgendes:

SELECT user_feedback. user_id, user_feedback. feedback_status, registered_user_detail. user_id VON user_feedback, registered_user_detail WHERE registered_user_detail. user_id = user_feedback. user_id UND user_feedback. feedback_status = 1 BESTELLNUMMER user_feedback. feedback_id DESC

+0

Dank für Ihre großartige Antwort. Abfrage läuft sehr, aber sagen Sie mir, was ist der Unterschied in der Abfrage mit meiner Abfrage, bcoz sieht beide gleich. Was ist falsch an meiner Anfrage? –

+0

In Ihrer Abfrage verwendeten Sie Satzzeichen falsch. Nach der WHERE-Bedingung müssen Sie die Stanzmarkierung als (punchmark) registered_user_detail (punchmark) (punchmark) user_id (punchmark) verwenden. Aber Sie haben als (punchmark) registered_user_detail.user_id (punchmark). Das ist der Fehler in Ihrer Anfrage. – Ponni

+0

danke Ponni, für deine nette Erklärung .... –

0

Verwenden Sie die richtigen JOIN 's und konsistente Ticks.

SELECT u.user_id, u.feedback_status, r.user_id 
FROM user_feedback u 
INNER JOIN registered_user_detail r ON u.user_id = r.user_id 
WHERE u.feedback_status = 1 
ORDER BY u.feedback_id DESC 
+0

oder, besser, keine Backticks überhaupt - wie im obigen Beispiel – Strawberry

+0

Hallo Matt, danke für Ihre Antwort, und Ihre Abfrage läuft wie 'rockzzzz'. erkläre mir bitte, warum meine Anfrage nicht ausgeführt wird, das war auch ein Beitritt. –

Verwandte Themen