都會出現 接近,之處語法不正卻" 和 接近關鍵字 '.' 之處語法不正確
update Main,(select serialNo,sum(produceQuantity) as num from source as k group by serialNo ) set Main.Unfinished =Main.Unfinished -k.num where Main.serialNo = k.serialNo
我印象中, UPDATE指令只能指定一個Table, 如要同時UPDATE多個Table要用View..
所以要改成:
<pre class="c" name="code">update Main set Main.Unfinished=Main.Unfinished-(select sum(produceQuantity)
from source k where k.serialNo=Main.serial)
但這樣寫會造成很多Performance問題, 所以...最好是
<pre class="c" name="code">update Main set Main.Unfinished=Main.Unfinished-(select sum(produceQuantity)
from source k where k.serialNo=Main.serial)
where Main.serial between 'xxxx' and 'yyyy'
把Main要UPDATE的範圍圈出來比較好.
大大你好 會出現這個錯誤 "sum 運算子的運算元資料類型 varchar 無效"
我只試著你指導的這段去TRY
update Main set Main.Unfinished=Main.Unfinished-(select sum(produceQuantity)
from source k where k.serialNo=Main.serial)
我也曾經試過別的語法 也是直接Unfinished-子查詢 ,出現錯誤也是一樣
a1986751106提到:
sum 運算子的運算元資料類型 varchar 無效
這是說SUM(produceQuantity)裏的produceQuantity資料型別為varchar??
版大.....
請您改SUM(produceQuantity)為SUM(CAST(produceQuantity as float))
感謝大大糾正,可以了,也達到想要的效果,感謝