我需要一些mssql的幫助。我不知道任何來自mssql查詢,但我知道一些編程。在某些情況下修改表的值
我有2個表,表A和表B每一個有2列 ColumnA1,ColumnA2,ColumnB1和ColumnB2
像這樣的事情
create table DB.dbo.TableA
(ColumnA1 varchar(10),
ColumnA2 int)
create table DB.dbo.TableB
(ColumnB1 varchar(10),
ColumnB2 int)
,我需要檢查是否存在表A中的一行其中ColumnA2> 0
如果是這樣,則
如果這些可能行中的任何行也存在於ColumnB1中,則
更新ColumnB2 = ColumnB2 + ColumnA2並設置ColumnA2 = 0
ELSE
插入TableB中的新行ColumnB1 = ColumnA1和ColumnB2 = ColumnA1並設置ColumnA2 = 0
我甚至不知道從哪裏開始,我嘗試以最好的方式解釋它。
編輯: 腳本
TableA:
ColumnA1 ColumnA2
John 0
Sam 1
Mark 1
TableB:
ColumnB1 ColumnB2
Sam 5
之前之後的腳本應該是這樣的:
TableA:
ColumnA1 ColumnA2
John 0
Sam 0
Mark 0
TableB:
ColumnB1 ColumnB2
Sam 6
Mark 1
都與對方2個表? – praveen 2012-07-24 10:56:41
都在同一個數據庫,我不知道它是否可能,但修改一個不會修改其他 – 2012-07-24 10:59:12