簡體   English   中英

如果在SQL中,則選擇Where where else

[英]Select Where inside if then else in SQL

我有一個包含10列和20條記錄的SQL表。 其中一列包含用戶名us_name。 我需要根據登錄的當前用戶過濾掉表行。為此,我使用以下SQL命令。 假設用戶是ABCD ,表名是ab_cd

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'

但它沒有用。 有人可以幫忙嗎?

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

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

當然,這可以使用in運算符來縮短:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM