我有一個table1的如下內連接並更新
user_ID country status role
-------- ------ ------- -----
keshav SG Active Admin
Bargav IN Active Subuser
Sanvi GB Active subuser
yellin CN Active subuser
我有另一個表stage_table如下
user_ID country role
------- ------- ------
keshav SG Admin
Sanvi GB subuser
Manav IN subuser
我想根據stage_table更新表1。正如你所看到的,stage_table沒有Bargav記錄,所以我想更新table1 Bargav的狀態爲「InActive」,Manav條目是新的,因此將它更新爲狀態爲「Active」。因此table1應該如下
user_ID country status Role
------- ------- ------ -----
keshav SG Active Admin
Bargav IN InActive Subuser
Sanvi GB Active subuser
yellin CN Active subuser
Manav In Active subuser
我在考慮如下使用內連接,這是正確的嗎?我沒有得到期望的結果..因爲我不知道如何進行合併和同步更新
select *
from table1
inner join stage_table on table1.user_ID = stage_table.user_ID
and (update table.status ="InActive"
where table1.user_Id != stage_table.user_ID)
請幫忙。
我刪除了不兼容的數據庫標記。只標記你真正使用的數據庫。 –
您使用的是什麼DBMS? MySQL的? SQL Server? PostgreSQL的? – Passerby
mysql sqlite mariadb在原來的問題。一般強烈建議只添加需要查詢的數據庫。 –