sql學習之:mysql裡關於update from
阿新 • • 發佈:2019-01-10
表table如下:
但在我的mysql資料庫測試半天都不成功。後面在網上看到說mysql 不支援 update 子查詢更新。
將對table的別名a,b放到了前面。前幾天發現mysql的gruop by的說明是返回唯一值,返回的結果集是刪除了重複項。但sybase裡面卻行不通。糾結。
id | code | name |
1 | c1 | null |
2 | c1 | c1name |
3 | c2 | null |
4 | c2 | c2name |
5 | c3 | c3name |
6 | c4 | null |
要求:把table裡面對於相同的code的null值用不為null的值賦值。
例:id=1和id=2的code值一樣,把id=1的name,update為id為2的name值.
在系統sybase裡面用下面的sql語句,可以測試成功:
update a set a.name= b.name from table a,tabel b where a.code = b.code and a.name is null and b.name is not null
但在我的mysql資料庫測試半天都不成功。後面在網上看到說mysql 不支援 update 子查詢更新。
新語句如下:
update table a inner join table b
on a.code=b. code
set a. name =b. name
where a. code is not null and b.i name is not null
將對table的別名a,b放到了前面。前幾天發現mysql的gruop by的說明是返回唯一值,返回的結果集是刪除了重複項。但sybase裡面卻行不通。糾結。