好吧,我已經看了一些關於更新與組的更新問題,並發現SQL不做,但我無法弄清楚如何執行此特定查詢的更新。帶分組的SQL更新
我有一個交易負載的現金賬戶,他們匹配的銀行對賬單,但問題是銀行對賬單是一個彙總值,所以我需要按特定方式交易的金額和匹配對這些總結的價值。一旦出現正面匹配,我就需要更新現金簿中該組中那些行中的每一行以進行協調。
是我迄今所做的是要得到正確的分組,然後做一個內部連接到銀行statment帶回所有的匹配,但顯然不知道如何更新這些行的值....
任何人有任何想法?
感謝
好吧,我已經看了一些關於更新與組的更新問題,並發現SQL不做,但我無法弄清楚如何執行此特定查詢的更新。帶分組的SQL更新
我有一個交易負載的現金賬戶,他們匹配的銀行對賬單,但問題是銀行對賬單是一個彙總值,所以我需要按特定方式交易的金額和匹配對這些總結的價值。一旦出現正面匹配,我就需要更新現金簿中該組中那些行中的每一行以進行協調。
是我迄今所做的是要得到正確的分組,然後做一個內部連接到銀行statment帶回所有的匹配,但顯然不知道如何更新這些行的值....
任何人有任何想法?
感謝
可以存儲在臨時表中的結果(CREATE TEMPORARY TABLE在MySQL),然後用它來過濾您的更新。
SELECT id, name, firstname INTO #tmp FROM stuff;
UPDATE other SET count='new value' WHERE id IN (SELECT id FROM #tmp);
的語法錯誤,也許因爲我不使用MSSQL
如果我理解正確的話,你可以決定用戶使用select查詢來更新,然後就更新這些。我認爲以下查詢可以做你想做的事情:
with toupdate as (select userid
from (select userid, sum(value) as sumvalue
from cashbook cb
group by userid
) join
bankstatement bs
on cb.userid = bs.userid
where cb.sumvalue = bs.value
)
update cashbook
set reconciled = 1
from toupdate
where cashbook.userid = toupdaqte.userid
你正在使用哪個數據庫引擎? 編輯:ups,無法幫助;) – Sebas
對不起,其MS SQL 2008 R2 – user744284
如果您提供一些表定義和示例數據,則更有可能得到答案。它不一定是完整的東西,事實上,如果您發佈一些高度集中的縮減代碼,它會更好。另外,如果您告訴我們數據庫的哪種風格(包括版本),而不是所有的SQL解決方案適合每個數據庫,它都會很有用。 – APC