2017-02-26 191 views
0

我有一個表如下所示,並顯示一個USR表是用戶是管理員或普通用戶。在這種情況下USR_ID:圖1是作爲管理員MySQL如果條件where條款查詢

EMP_ID  Terminated EMP_Name  EMP_Loc 
    1   0   John   Caster 
    2   1   Sally  Jules 
    3   0   Steven  James 

這是一個EMP分貝表和EMP#2被終止,當一個普通用戶查詢DB中,封端的員工不應該被示出並且在管理員詢問DB,我想顯示所有員工,包括終止的員工。

這裏是我的查詢

select * from EMP join USR on USR.ID = EMP.EMP_ID 
where (IF USR.ID = '1',terminated='1',terminated in ('0','1')) 

但此查詢只顯示未終止的用戶始終即使是管理員用戶

+0

你能守USR表模式? – McNets

回答

0

你可以使用或在您的WHERE條件,像

select * from EMP join USR on USR.ID = EMP.EMP_ID 
where (USR.ID = '1' and terminated='1') or (USR.ID <> '1' and terminated in ('0','1')) 
0
SELECT * 
FROM EMP 
     INNER JOIN USR ON USR.ID = EMP.EMP_ID 
WHERE 
     (USR.ID = '1' AND Terminaded = '1') OR (USR.ID <> '1') 
0

根據您的要求,您可以試試這個:

select * 
from EMP join USR on USR.ID = EMP.EMP_ID 
where (USR.ID <> '1' and Terminated = '1') or (Terminated in ('0', '1')) 

如果Terminated只有兩個值 '0' 或 '1',你可以刪除or條款:

select * 
from EMP join USR on USR.ID = EMP.EMP_ID 
where (USR.ID <> '1' and Terminated = '1')