3 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
UPDATE myTableSET myTable.A =( SELECT B FROM myTable INNER JOIN ...)
UPDATE
/INSERT
/DELETE
myTable
(SELECT * FROM myTable)
UPDATE myTableSET myTable.A =( SELECT B FROM (SELECT * FROM myTable) AS something INNER JOIN ...)
你不會(huì)想 SELECT * FROM table
在現(xiàn)實(shí)生活中的子查詢(xún)中,我只想保持示例的簡(jiǎn)單性。實(shí)際上,您只應(yīng)該在最內(nèi)部的查詢(xún)中選擇所需的列,并添加一個(gè)好的 WHERE
子句來(lái)限制結(jié)果。

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
CREATE TABLE test2 ASSELECT PersId FROM pers pWHERE ( chefID IS NOT NULL OR gehalt < ( SELECT MAX ( gehalt * 1.05 ) FROM pers MA WHERE MA.chefID = p.chefID ))
...
UPDATE pers PSET P.gehalt = P.gehalt * 1.05WHERE PersIdIN ( SELECT PersId FROM test2)DROP TABLE test2;
UPDATE Pers P, ( SELECT PersId FROM pers p WHERE ( chefID IS NOT NULL OR gehalt < ( SELECT MAX ( gehalt * 1.05 ) FROM pers MA WHERE MA.chefID = p.chefID ) )) tSET P.gehalt = P.gehalt * 1.05WHERE p.PersId = t.PersId

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
UPDATE TABLE_A AS A INNER JOIN TABLE_A AS B ON A.field1 = B.field1 SET field2 = ?
添加回答
舉報(bào)