[英]Function in SQL Select Statement
CREATE VIEW View1
AS
SELECT Col1,
Col2,
dbo.fn1(col2) as Col3
FROM TestTable
/*
--Instead of writing below query I created a new View View2
SELECT Col1,
Col2,
dbo.fn1(col2) as Col3
dbo.fn2(dbo.fn1(col2)) as Col4
FROM TestTable
*/
CREATE VIEW View2
AS
SELECT Col1,
Col2,
Col3,
dbo.fn3(col3) as Col4
FROM TestTable
我有一個類似上面的查詢。 我有列是fn1的輸出。 我想將該輸出用於其他函數fn2。 在那種情況下,我不能直接在fn2中使用col3,所以我將兩個功能分開,如下所示。 我想知道我是否朝着正確的方向前進,這是對的,還是有更好的方法呢? 在View1的注釋部分中,函數fn1是否會調用兩次? 還是SQL Server會負責優化呢?
你可以做到這一點...
SELECT
Col1,
Col2,
col3,
dbo.fn2(col3) AS Col4
FROM
(
SELECT
Col1,
Col2,
dbo.fn1(col2) as Col3
FROM
TestTable
) foo
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.