我有代碼的圖如下生成視圖SQL動態
create view v1
as
section1 --I get column1 data here
union all
section2 --I get column2 data here
union all
section3 --I get column3 data here
現在,這種觀點是在多個地方使用,並且將在列1或2或3,取決於在這裏我們使用這個類的地方接合下面。
select * from tabl1 t1 join v1 on t1.column1 = v1.column1
select * from tabl1 t2 join v1 on t2.column2 = v1.column2
等
但如果是在列1,對於column2,3即計算的加盟,則不需要第2,3。根據當前的業務規則,我們不能將視圖分成多個視圖。現在,我需要的是,如果視圖被加入到column1,section2,3不應該被計算出來,類似的情況與column2,section1,3和column3,section1,2
有人可以請幫助我如何實現這一點
感謝, SREE
可以共享的結果集預期輸出的結構 – balaji
有時SQL服務器會優化izer可以忽略'union all'的不需要的部分。你看過查詢計劃嗎? – Arvo
A **查看**是一個(有時)複雜** SELECT **的簡寫。如果你需要一個變量視圖,可以定義不同的視圖,每個視圖一個,或者簡單地使用顯式的SELECT(s)。如果你關心的是性能,這將是最有效的方法。 – FDavidov