where子句中的列'u_id'是不明确的

时间:2012-11-07 11:19:57

标签: mysql

SELECT  `attendence`.`u_id` ,
        DATE_FORMAT(date,'%d-%m-%Y') as  `date`,
        `attendence`.`checkin`, 
        `attendence`.`checkout`,
         `users`.`firstname`,
         `users` .`lastname`
 FROM  `attendence`
 INNER JOIN  `users` ON  `attendence`.`u_id` = `users`.`u_id`
 WHERE  DATE_FORMAT( DATE,  '%Y-%m' ) =  '$combined' AND `u_id`='$u_id';

请帮助家伙

当我删除AND u_id ='#u_id它可以运行但返回所有员工详细信息'

3 个答案:

答案 0 :(得分:3)

您需要指定列u_id应该来自哪个表,因为两个表都有此列。

AND `attendence`.`u_id`='$u_id';

OR

AND `users`.`u_id`='$u_id';

选择满足您需求的产品。无论如何,两个函数中的任何一个都是相同的,因为它们是两个表的链接列。

答案 1 :(得分:1)

替换

`u_id`='$u_id';

通过

`users`.`u_id`='$u_id';

答案 2 :(得分:0)

如果您在查询中使用的多个表中有u_id,则需要指定要使用的u_id

在where子句中使用它:

`attendence`.`u_id` = '$u_id';