[英]How to use case statement to declare a local variable for a subsequent subquery?
是否可以根據具體情況聲明局部變量,然后觸發一個公共子查詢?
偽代碼:
SELECT
CASE
WHEN TABLE.TYPE = 'STUDENT' variable = "UNIVERSITY"
WHEN TABLE.TYPE = 'EMPLOYEE' variable = "EMPLOYER"
(Some big query here it has a common joins / groupings but the variable changes)
END AS NAME
FROM TABLE
尋找SQL Server解決方案。
場景是這樣的 - 我有一個列出一些成員信息的查詢。 現在我需要為現有查詢獲取一些附錄數據 - 我的意思是結果集不會改變。 我實際上可以加入但是我必須過濾掉很多東西 - 這有意義嗎? 想象一下,我正在顯示表格中的所有成員,有人要求我顯示大學名稱或雇主姓名。 最大的問題是,會員可以擁有一所以上的大學 - 同樣適用於雇主。 在這種情況下,連接的性能是否真的很差? 因為有很多一對多的東西。 還請注意我最終只顯示10條記錄作為分頁的一部分所以我認為我應該做一個案例陳述。
DECLARE @variable varchar(10)
SELECT @variable =
CASE
WHEN t.TYPE = 'STUDENT' THEN 'UNIVERSITY'
WHEN t.TYPE = 'EMPLOYEE' THEN 'EMPLOYER'
ELSE 'Undefined'
END
FROM TableName t
如果SELECT語句返回多個值,則為變量分配返回的最后一個值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.