此表包含一个列名db_responsibleid
,其中包含此人的责任ID,此人也在此表中
示例穆罕默德有db_uid=1
而萨米尔有db_responsibleid=1
这意味着穆罕默德对萨米尔负责
我还有另一个表名tbl_department
,表用户包含列名db_udepartment
我尝试使用部门的名称以及负责人的姓名和姓氏db_uid='$id'
$ id将来自网址
这是我使用的查询
SELECT
user.db_uid,
user.db_fname,
user.db_lname,
user.db_username,
user.db_pass,
user.db_email,
user.db_phone,
user.db_jobtitle,
user.db_level,
user.db_isemployee,
user.db_responsibleid,
user.db_companyname,
user.db_udepartment,
tbl_department.db_department,
tbl_department.db_did,
parent.db_responsibleid,
parent.db_fname as pfname,
parent.db_lname as plname,
parent.db_uid
from tbl_user as user,tbl_department
join tbl_user as parent
on
user.db_responsibleid=parent.db_uid
where
user.db_udepartment=tbl_department.db_did
and
user.db_uid='$id'
但是此查询在“on子句”
中给出了这个错误未知列'user.db_responsibleid'我如何解决这个问题,并获取负责人姓名和部门名称的所有信息?
答案 0 :(得分:1)
你不能混合implizit和explizit join。 如果你决定使用join,你必须在任何地方都这样做:
from tbl_user as user
join tbl_department on user.db_udepartment=tbl_department.db_did
join tbl_user as parent
on
user.db_responsibleid=parent.db_uid
where
user.db_uid='$id'
提示:使用准备好的语句来防止SQL注入