subquery
を使用して、ユーザーのIDを選択できます。サブクエリは、次のとおりです。
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';
P.S.クエリはテストされません。
'date_start'の形式は何ですか? –
YYYY-MM-DD それはうまく動作します。最初の日のシフトを確認したいのですが、その日は休憩ではなく、それ以外の場合はユーザーを表示しないでください。 – SMT
私の日付フィールドには何の問題もありません。私は最初の日がオフではない誰にも2日目のユーザーだけを見せてほしい。 – SMT