2013-08-05 28 views
4

我試圖用另一個表中的多個值更新臨時表而不使用連接。 但是,查詢不會給出任何錯誤,而是會返回一個星號作爲列的值。我用Google搜索了一下,並詢問了辦公室周圍的一些人,但似乎沒有人遇到過這種情況,或者可以解釋爲什麼會發生這種情況。SQL查詢結果返回星號「*」作爲列值

update ##tempCLUnique set Total = 
(
    select COUNT(distinct u.unique_subs) 
    from tbl_Cluster_Cumm_Unique_Subs u 
    where u.cluster = ##tempCLUnique.cluster 
) 

似乎很簡單

Result Screen Grabhttp://i.stack.imgur.com/qE0ER.png

+0

什麼數據類型是臨時表中的「Total」列。 –

+0

你正在使用哪個工具(在截圖中)? –

+0

總數是整數 –

回答

1

使用此

update ##tempCLUnique set Total = U.unique_subs 

FROM ##tempCLUnique 
INNER JOIN 
(
    select COUNT(distinct unique_subs)unique_subs 
    from tbl_Cluster_Cumm_Unique_Subs 

)U 

ON 

u.cluster = ##tempCLUnique.cluster 

更改根據您的使用加入。

Ashutosh

+0

結果與以前相同。 「*」被插入到## tempCLUnique –

+0

我也在尋找這種情況發生的原因,所以我可以理解這個問題 –

+3

@ CliffordPabs-Garnon如果* *如您所說**插入**然後您* *不是**有一個整數列。當您將值添加到char/varchar列時,或者將值轉換爲'*',或者在查詢表時將值轉換爲char/varchar。 –