如果另一個臨時表返回沒有行,我需要編寫一個查詢以返回一個臨時表中的值。如果另一個臨時表返回沒有行,則從臨時表返回值
編輯:整個表具有以下結構
NAME TYPE DATE VALUE
Washington 1 NULL 1000 <--default value
Washington 2 NULL 750 <--default value
Washington 3 NULL 500 <--default value
Washington 1 04.11.2015 500
Washington 2 04.11.2015 250
Washington 3 04.11.2015 100
Washington 1 07.11.2015 600
Washington 2 07.11.2015 300
Washington 3 07.11.2015 200
溫度表:Name, type, date, value
其中IS NULL
返回「默認」的日期值
溫度表:Name, Type, date, value
其中每個獨特Name
將具有3種類型( 1,2,3),每種類型都有不同的值,它們都有相同的日期。
當存在日期列中沒有條目這意味着該值應爲「缺省」,其下的行存儲在相同的表,其中日期爲空
我也有確定的8個不同的參數值,但
所以,我想在年底得到我只是在「1」興趣和「2」因此「當」爲:
Select *
from temp1
where date =GETDATE()
如果不存在我想要它回來:
select * from temp2.
我只對明天
後得到了今天,明天和天的結果感興趣這就是我這麼遠,但它顯然不工作。
我希望得到任何幫助,我可以得到
WITH defaultvalues
AS (SELECT DISTINCT
n.Name ,
Type ,
Value
FROM mytable
LEFT JOIN nametable AS n ON mytable.x = r.Id
AND Date IS NULL
),
changedvalue
AS (SELECT DISTINCT
n.Name ,
type ,
date ,
CASE WHEN d.Date = GETDATE()
AND Parameter = '1' THEN Value
WHEN Parameter = '2' THEN '0'
END AS CAP
FROM mytable
LEFT JOIN nametable AS n ON mytable.x = r.Id
WHERE Parameter IN ('1', '2')
)
SELECT CASE WHEN NOT EXISTS (SELECT *
FROM changedvalue
WHERE changedvalue.Date = GETDATE())
THEN (SELECT *
FROM defaultvalues
)
END
它不是從故事中清楚你到底想要什麼合併和SQL本身不是說明性的。請你創造和提供一些示例數據和你所期望的輸出。您可以使用SqlFiddle如果需要的話或T-SQL彎曲提供數據。 –