2014-03-19 49 views
2

我是新來的SQL語句,我猜這是顯而易見的事情,所以我提前道歉,新手問題。使用微軟SQL服務器有一個基本的SQL問題2012

下面是代碼:

use test; 
declare @time_24_2 int; 
declare @hours_diff_2 int; 

SELECT 
    end_date_full 
FROM 
    example 
WHERE 
    datediff(hour, getdate(), end_date_full) < 24 
GROUP BY 
    end_date_full 

SET @time_24_2 = end_date_full; 
select @time_24_2 

這是我的代碼,我只是想拉每一個符合標準行的end_date_full列。然而,每次我嘗試使用如下所示的列end_date_full時,我收到一個錯誤,說未知的列名稱

任何幫助將是驚人的!

P.S end_date_full是一個列名,它適用於第一個select語句,而不是SET語句。

+0

重複?:[如何從SQL查詢設置變量?](http://stackoverflow.com/q/3974683/456814)。 – 2014-08-14 08:24:23

回答

4

這是因爲您將分配給變量時嘗試在查詢外使用列名稱。這應該是訣竅:

SELECT @time_24_2 = end_date_full 
FROM example 
WHERE datediff(hour, getdate(), end_date_full) < 24 
group by end_date_full