是否可以根據大小寫聲明一個局部變量,然後觸發一個通用的子查詢?如何使用case語句爲後續子查詢聲明局部變量?
僞代碼:
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條記錄作爲分頁的一部分,所以我認爲我應該做一個案例聲明。
「大查詢」是指多個記錄,但是你想把它分配給一個變量? – 2014-12-09 11:32:30
「大查詢」不幸返回單個名稱:) – Nishant 2014-12-09 11:33:24
動態SQL或CTE(WITH子句)可能是選項。 – Sruti 2014-12-09 11:34:17