$first_day = $_POST['day1'];
$second_day = $_POST['day2'];
$sql = "SELECT * FROM users_shift WHERE userid!='$_SESSION[userid]' AND grp='$user_group' AND date_start = '$second_day' AND shift='Dayoff' ORDER BY name ASC";
我希望那些在第一天没有休假的用户应该出现。但我想展示的结果是第二天。只是想检查后端用户不应该有休息日在他们的第一天。
您可以使用选择用户id的subquery
。子查询是:
select userid from users_shift where userid!='$_SESSION[userid]' AND grp='$user_group' and date_start = '$first_day' AND shift!='Dayoff'
完整查询为:
$first_day = $_POST['day1'];
$second_day = $_POST['day2'];
$sql = "SELECT * FROM users_shift WHERE userid!='$_SESSION[userid]' AND grp='$user_group' AND date_start = '$second_day' AND shift='Dayoff' and userid in(select userid from users_shift where userid!='$_SESSION[userid]' AND grp='$user_group' and date_start = '$first_day' AND shift!='Dayoff') ORDER BY name ASC";
或者您可以使用inner join like this
:
select * from users_shift s
inner join users_shift f
on s.userid = f.userid where
where s.userid!='$_SESSION[userid]' AND s.grp='$user_group' And
s.date_start = '$first_day' AND s.shift!='Dayoff' And f.date_start =
'$second_day' And f.shift = 'Dayoff';
注:未测试查询