这是我的SQL语句,我无法运行它:

SELECT fm . * , mp.first_name, mp.last_name, mp.image, mp.member_id
FROM featured_members AS fm
JOIN member_profiles AS mp WHERE fm.member_id = mp.member_id
AND fm.member_type_id =6
AND fm.site_id =1

当我运行它时,它会给我#1054 - Unknown column 'fm.site_id' in 'on clause'错误
是否有语法问题,因为fm表确实有site\u id列,但我不知道为什么SQL不取它??
我的featured_members表结构如下:
1 sr_no
2 member_id
3 member_type_id
4 site_id

对于member_profiles结构是:
1 member_profile_id
2 member_id
3 first_name
4 middle_name
5 last_name
6 gender
7 image

最佳答案

你做错了:
对于JOIN,必须使用ON子句,除非另有说明,否则它是交叉连接。

SELECT fm . * , mp.first_name, mp.last_name, mp.image, mp.member_id
FROM   featured_members AS fm
JOIN   member_profiles  AS mp ON ( fm.member_id = mp.member_id )
WHERE fm.member_type_id =6
AND fm.site_id =1

关于mysql - MySQL在where子句中给出未知的列错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14400736/

10-12 01:50