我想寫實現以下查詢的邏輯:SQL服務器 - 重用以前的查詢 - 相似的邏輯到LINQ
select ......
from (select ..... from ... complex and long query #1) R1
(select ..... from ... complex and long query #2) R2
Where
NOT (@DateStart > R2.IstEnde OR @DateEnd <= R2.IstStart)
OR
(
(select count(*)
from R2 // <---- BUG IS HERE
Where R2.IsOutsideTaskTimeFrame = 1 AND R2.IsManuallyFixed = 1
) > 0
)
order BY R2.PersonName, R1.YearOfWeek, R1.Week
這明顯不工作,因爲我想「再利用」的R2在「count()」的條件下。
我寫的基於「.NET Linq」邏輯,我們可以「重用」以前的查詢。
我甚至可以編寫「重複使用」前一個查詢的邏輯,而不是重複一遍嗎?
我不完全確定這一點,但不是「重用」另一個詞的SQL查看概念? – hypnos
你打算如何加入R1和R2?目前他們沒有加入,或者如果他們之間有逗號,那麼CROSS JOIN(所有行到所有行) – Cato