1
更新我有兩個表:默認和用戶具有相同的列,除了在默認列user_id說明在「用戶」這不是唯一的一段時間。插入或選擇和覆蓋零點
我想借此所有行從用戶,並將其插入到默認,如果用戶兩行得到了相同的USER_ID,我想在這樣的方式來合併它們,所有的空/空值將具有非空/空值
這裏被重寫是一個例子
users
-----
user_id|name|email|address
--------------------------
1 |abc |null |J St
1 |coco|[email protected]|null
插入到默認值後,我期望下一結果:
defaults
-----
user_id|name|email|address
--------------------------
1 |abc |[email protected]|J St
@Eric乙提供瞭如何用插入值執行此操作的answer:
假設在表.. ID,NAME 3列,ROLE
這將更新2的 列。當ID = 1時,ROLE將不受影響。當ID = 1 不存在時,該角色將設置爲'Benchwarmer'而不是 默認值。
INSERT OR REPLACE INTO Employee (id, name, role)
VALUES ( 1,
'Susan Bar',
COALESCE((SELECT role FROM Employee WHERE id = 1), 'Benchwarmer')
);
當我使用select我插入
insert or replace into defaults select ??? from users
如果存在多個非NULL值,應選擇哪一個? –
@CL。它並不適合我 –