Cảm ơn bạn đã cập nhật truy vấn; bây giờ chúng ta có thể thấy rằng điều kiện WHERE chỉ được áp dụng cho cuối cùng Truy vấn UNIONed. Bạn cần một trong hai thêm mệnh đề WHERE đó vào mỗi truy vấn hoặc bọc nó dưới dạng một lựa chọn con và áp dụng mệnh đề WHERE cho điều đó.
select s.id as id, s.email as email, s.password as password, s.role as role from tblStudents s
where email = "[email protected]"
union
select a.id as id, a.email as email, a.password as password, a.role as role from tblAdmin a
where email = "[email protected]"
union
select t.id as id, t.email as email, t.password as password, t.role as role from tblTeachers t
where email = "[email protected]"
hoặc
SELECT * FROM (
select s.id as id, s.email as email, s.password as password, s.role as role from tblStudents s
union
select a.id as id, a.email as email, a.password as password, a.role as role from tblAdmin a
union
select t.id as id, t.email as email, t.password as password, t.role as role from tblTeachers t
) foo where email = "[email protected]"