从2个表中获取数据,其中数据存在于其他表中或不存在

时间:2018-04-26 10:12:25

标签: mysql

登录时我有两张桌子用户和出勤我想查看今天是否有出席。

tbl_user

user_id
name
username
password

tbl_attendance

att_id
user_id FK from user
create_date timestamp

如果用户首次登录,则显示出勤率= 0,否则为1。 我试过这个:

select u.*,ifnull(a.attendance_id,0) as attandance 
from users u, attendance a 
where u.username = "emp1" and u.password = "password@123" 
and role <> 'customer';

1 个答案:

答案 0 :(得分:1)

您可以改用子查询。

SELECT A.*, IFNULL(SELECT 1 
                   FROM tbl_attendance B 
                   WHERE B.user_id=A.user_id 
                    AND DATE(B.create_date)=CURRENT_DATE LIMIT 1, 0) attendance
FROM tbl_user A 
WHERE A.username="emp1" AND A.password="password@123";

我在两个表中都没有看到任何角色列,因此它不应出现在您的查询中,否则您可以像使用它一样使用它。