2013-09-25 64 views
0

我試圖從一列表中插入值到另一個輕微轉換。帶有選擇表達式的更新表返回多個行

以下查詢拋出我出一個錯誤

消息512,級別16,狀態1,行 子查詢返回多個值。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。 該聲明已被終止。

update faults_analysis 
    set datekey = (select cast(convert(varchar(10),faultstarttime,112) as int) from FAULTS_ANALYSIS) 

我怎麼可以插入多個值,而無需使用遊標

回答

2

我沒有必要的聲譽對此發表評論,所以我不能100%我正確認識你。

如果我正確理解你,你正試圖用同一個表中的另一列中的變換值更新同一個表中的列?

下面應該是你所需要的,但請小心,因爲沒有where子句它假定你想更新整個表。

update faults_analysis 
     set datekey = cast(convert(varchar(10),FA.faultstarttime,112) as int) 
    from FAULTS_ANALYSIS FA 
0
UPDATE faults_analysis 
     set datekey = cast(convert(varchar(10),faultstarttime,112) as int) 

無需FROM子句 「從FAULTS_ANALYSIS FA」

添加
相關問題