2017-03-02 34 views
1

我有一個SQL表格,10列和20個記錄。其中一列包含用戶名us_name。我需要根據當前登錄的用戶篩選出表格行。爲此,我使用以下SQL命令。假設用戶是AB,C, D,表名是ab_cd選擇內部如果然後在SQL中的其他人

SELECT * 
FROM ab_cd 
WHERE us_name = 'current_user' 

它工作得很好。但對於用戶D,我想要完整的表格顯示爲D是超級用戶。我需要這樣的東西。

IF Current_user = 'D' 
Then 
SELECT * 
FROM ab_cd 
Else 
SELECT * 
FROM ab_cd 
WHERE us_name = 'current_user' 

但它不工作。誰能幫忙?

+1

SQL-Server或MySQL的:

SELECT * FROM ab_cd WHERE @current_user = 'd' or us_name = @current_user 

當然,這可以用in操作員人手?這是非常不同的DBMS – Jens

回答

3

您可以使用邏輯or運算符來模擬此行爲。假設@current_user是一個變量保存的用戶名:

SELECT * 
FROM ab_cd 
WHERE @current_user IN ('d', us_name) 
+1

感謝它的工作。 – Vineet

相關問題