我正在使用RIGHT JOIN语句加入2个表。我用下面的查询,效果很好。但是,每当我尝试选择特定用户时,它仍会显示所有数据
SELECT TBLNOTIFICATIONS.NOTIFICATION_ID, TBLNOTIFICATIONS.NOTIFICATION_TYPE, FILENAMES_LIST.LOCATION_FILENAME, TBLNOTIFICATIONS.NOTIFICATION_DATE
FROM TBLNOTIFICATIONS
RIGHT JOIN FILENAMES_LIST
ON TBLNOTIFICATIONS.NOTIFICATION_ID=FILENAMES_LIST.NOTIFICATION_ID
WHERE TBLNOTIFICATIONS.USER_ID='JCON'
如何从特定用户中选择数据?
提前致谢。
答案 0 :(得分:2)
您正在对左表进行过滤,因此仍会显示右表的所有数据
将查询更改为LEFT JOIN
以获得所需结果可能就足够了
除此之外,您可以使用别名来使您的查询更具可读性,如下所示:
SELECT tn.NOTIFICATION_ID, tn.NOTIFICATION_TYPE, fl.LOCATION_FILENAME, tn.NOTIFICATION_DATE
FROM TBLNOTIFICATIONS AS tn
LEFT JOIN FILENAMES_LIST AS fl
ON tn.NOTIFICATION_ID = fl.NOTIFICATION_ID
WHERE tn.USER_ID='JCON'