mysqlでは「DELETE a FROM a_table AS a INNER JOIN b_table AS b ON (nnn) WHERE xxx」できるらしい(他のDBMSでもできるかも)
FROMでASを指定した場合、DELETEの後のテーブル名はASで指定したものを記述する。
「DELETE a_table FROM a_table AS a INNER JOIN b_table AS b ON(nnn) WHERE xxx」
こんな感じでテーブル名を直接しているすると
「ERROR 1109 (42S02): Unknown table 'a_table' in MULTI DELETE」
とかいわれる。
//--------20101124追記
DELETEとFROMのあいだのテーブル名は必須。
FROMでASを使うならDELETEとFROMのあいだのテーブル名はASで指定したテーブル名でなくてはならない。
「DELETE a_table FROM a_table AS a INNER JOIN b_table AS b ON (nnn) WHERE xxx」はできない。
「DELETE a_table FROM a_table INNER JOIN b_table ON (nnn) WHERE xxx」はOK。
FROMでASを指定した場合、DELETEの後のテーブル名はASで指定したものを記述する。
「DELETE a_table FROM a_table AS a INNER JOIN b_table AS b ON(nnn) WHERE xxx」
こんな感じでテーブル名を直接しているすると
「ERROR 1109 (42S02): Unknown table 'a_table' in MULTI DELETE」
とかいわれる。
//--------20101124追記
DELETEとFROMのあいだのテーブル名は必須。
FROMでASを使うならDELETEとFROMのあいだのテーブル名はASで指定したテーブル名でなくてはならない。
「DELETE a_table FROM a_table AS a INNER JOIN b_table AS b ON (nnn) WHERE xxx」はできない。
「DELETE a_table FROM a_table INNER JOIN b_table ON (nnn) WHERE xxx」はOK。
「DELETEとFROMの間のお話」めっちゃ、助かりました。
ありがとう。
お役に立てて光栄ですー