1
在新數據集中,我創建了兩個新列,Start_time和End_time。我還想創建一個顯示這兩次差異的列。這是我的代碼:SQL幫助!如何創建顯示兩個不同時間段之間持續時間的新列
SELECT b.company,
b.NAME,
Max(
CASE
WHEN description = 'Green' THEN final_value
END) AS 'Start_Time',
Max(
CASE
WHEN description = 'Red' THEN final_value
END) AS 'End_Time',
cast(datediff(n,
CASE('End_Time' as datetime),
CASE('Start_Time' AS datetime)) AS float)/60 AS time_duration
FROM mydata a
JOIN ref_val b
ON a.ref_res = b.ref_res
WHERE b.company = 'abc'
GROUP BY b.company ,
b.NAME
當我運行此代碼時,我收到一條錯誤,說End_Time無法綁定。有什麼建議麼?謝謝!
您不能在列表中使用列別名作爲參考。實際上,你不能在許多地方使用這種列別名。嘗試簡單地複製並粘貼代碼以進行Start_Time和End_Time計算,並將其放入DATEDIFF中。現在,您正試圖將字符串文字'End_Time'轉換爲datetime。 –