2013-09-25 105 views
-3
SELECT DATEDIFF(day,(SELECT creation_date 
    FROM time_info 
    WHERE is_on = 'yes' 
    LIMIT 0,1), 
    (SELECT creation_date 
    FROM time_info 
    WHERE is_on = 'no' 
    LIMIT 0,1) 
FROM time_info; 

我想計算日期差異,但事情並不是這樣工作的。有沒有另一種方法來做到這一點?在DATEDIFF中選擇不工作

+3

你想實現什麼?什麼是錯誤?你能展示一些示例數據嗎?預期的產出? –

+0

@juergend:我需要從數據庫中獲取第一個日期,其中is_on ='yes',第一個日期是is_on ='no',然後我需要找到兩個日期之間的差異。 – Moax6629

+1

請在您的問題中添加**全部**必要的信息格式。這使我們更容易,你會得到更好的答案。 –

回答

0

試試這個

set @date1:=(SELECT creation_date 
    FROM time_info 
    WHERE is_on = 'yes' 
    LIMIT 0,1); 

set @date2:= (SELECT creation_date 
    FROM time_info 
    WHERE is_on = 'no' 
    LIMIT 0,1); 
select datediff(@date1,@date2); 

您需要提供更多的信息來了解你正在嘗試做的

+0

爲我工作。 Thnx隊友:) – Moax6629

0

您的大括號'(',')'在SELECT語句中不平衡。

+0

除了那個...那不是isssue! – Moax6629

+0

這是很多問題之一。 –

0

試試這個

SELECT DATEDIFF(t1.creation_date,t2.creation_date) 
    FROM time_info t1 
    INNER JOIN time_info t2 ON t1.your_id_column = t2.your_id_column 
    WHERE t1.is_on = 'yes' AND t2.is_on = 'no';