2016-03-03 51 views
0

我試圖找到今天的日期和給定的日期在table.Some行之間的時間差的及格成績爲1日,而其他有2個日期(採取更早的日期)。我試着用動態的變量和臨時表,但仍然沒有工作(日期的差異搜索)選擇查詢到另一個選擇查詢裏面的if-else循環

Here is the input table

else 
begin 
SELECT * INTO #result2 
FROM 
( 

    declare @t date 
    set @t = ' 
    select SUBSTRING(Availability, PATINDEX('% [0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]%', [Availability]), 11) as [Date Part] from [ScrappedData_Regina] ' 

-- extracts date part from a column 

    select distinct [Product Name],[SKU],DATEDIFF(day,cast(@t as date),cast(GETDATE() as date)) as [Delivery Date] from ScrappedData_Regina 
) -- i want to pass the date part in this select statement 

第一個查詢會給結果作爲 firstquery result

而且我要爲第二個查詢相同的結果因爲兩個日期案件。

secondquery result

最後一個表

+0

樣本數據和預期的結果將有助於我們更好地理解 –

+0

樣本數據已經給出了 –

回答

0

結合兩者的結果我想你應該能夠做到,在一個查詢(如果我理解你想要做什麼)。刪除第一個查詢和替換第二個與此:

SELECT DISTINCT [Product Name], 
       [SKU], 
       DATEDIFF(DAY, CAST(
        SUBSTRING(Availability, 
         PATINDEX('% [0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]%', [Availability]), 11) AS DATE), 
         CAST(GETDATE() AS DATE) 
        ) AS [Delivery Date] 
FROM ScrappedData_Regina 
+0

感謝,但我忘了告訴你的輸入表。在該表中的某些行有一個日期,而其他也有兩個日期,我想同時需要查詢較早date.So。我想要一個綜合結果 –