請耐心等待,這很難解釋,我不確定我是否使用了正確的術語。SQL:條件選擇內的條件選擇
我需要做一個相當複雜的選擇。它實際上是一個select語句,它有條件地決定使用哪個字段來過濾select。如果某個日期字段不爲空,我需要檢查該字段中的值是否在一定範圍內。否則,如果該日期字段爲空,我需要檢查在同一個表的另一個領域,INT場,是在一定範圍內:
僞代碼:
If [Date] is not null
Get sum (table.value) for rows Date >= dateValue and Date < dateValue
Else
Get sum (table.value) for rows Int >= intValue and Int < intValue
我當前的嘗試:
SELECT CASE WHEN a.Date IS NOT NULL THEN
(SUM(CASE WHEN (a.Date >= cal.Date) THEN ABS(a.Value) ELSE 0 END))
ELSE
(SUM(CASE WHEN (b.Days >= 0) THEN ABS(a.Value) ELSE 0 END)
END AS 'A'
有什麼建議嗎?詢問你是否需要更多信息。 在此先感謝。
請檢查我的編輯 – gbn 2010-11-02 20:52:35
是的。乾杯。我最初有一條或一條語句,但即使日期字段包含數據但不在該範圍內,整數字段也會被拖動。沒想到在那裏添加一個空檢查!哎喲! – Damien 2010-11-02 20:57:25