2017-06-22 6 views
0

Dies ist mein SQL-Code (mit phpMyAdmin Simulator):SQL-Abfrage Fehler unbekannt Spalte in SELECT + JOIN +

SELECT user_activity.user_ip,user_activity.id,user_activity.post_id , posts.id 
FROM user_activity,users 
INNER JOIN posts ON user_activity.post_id = posts.id 
WHERE user_activity.user_id = users.id and users.forgen_note = 'test note'; 

Und es Respons einen Fehler:

MySQL said: Documentation 

#1054 - Unknown column 'user_activity_now.stream_id' in 'on clause' 

Wie kann ich es beheben bitte ?

+1

Verwenden Sie 'INNER JOIN'-Klausel zwischen' user_activity' und 'users'. SQL Server-Tag entfernt Offensichtlich MySQL. –

+1

Sie haben einen zusätzlichen impliziten Join mit einer sehr alten Syntax 'FROM user_activity, users', dann haben Sie einen zweiten' INNER JOIN' mit der akzeptierten Syntax nach. –

+4

user_activity_now wird in der Abfrage nicht erwähnt. Dies bedeutet, dass Sie entweder auf Sichten zugreifen oder die richtige Abfrage oder Fehlermeldung nicht angegeben haben. – AlexanderMP

Antwort

1

Mischen Syntax nicht beitreten:

SELECT user_activity.user_ip,user_activity.id,user_activity.post_id, posts.id 
FROM user_activity 
    INNER JOIN users ON user_activity.user_id = users.id 
    INNER JOIN posts ON user_activity.post_id = posts.id 
WHERE users.forgen_note = 'test note'; 

Sie sollten in der Regel vermeiden Komma schließt sich verwenden. Es ist schwerer zu lesen und insgesamt weniger ausdrucksvoll in Bezug auf das, was Sie tun.

+0

Vielen Dank :) Es hat funktioniert. –