2012-04-06 14 views
2

2つのテーブルからデータを削除します。私は以下のようにします:同じステートメント内の2つのテーブルからのSQL DELETE

DELETE FROM dc_mail_users u, dc_mail_user_data d WHERE u.i_id_pk = 3 AND d.i_id_ut = u.i_id_pk 

しかし、これはSQL構文エラーを返します。どのようにしてこのWHIT SQL AS文を修正できますか?ちょうど以下の例のように。

SELECT first_name.last_name AS name WHERE name="John Doe" 
+2

あなたは「* SQLのASS *」と正確に何を意味するのですか? –

+0

私は彼がMySQLを参照していると思う:それはお尻です。 SQL Serverを試す必要があります。 '' –

答えて

2
delete u, d 
FROM dc_mail_users u 
join dc_mail_user_data d 
on d.i_id_ut = u.i_id_pk 
and u.i_id_pk = 3 
3
DELETE u, d 
FROM dc_mail_users u 
INNER JOIN dc_mail_user_data d 
    ON d.i_id_ut = u.i_id_pk 
WHERE u.i_id_pk = 3 
2

あなたがテーブルのエイリアスを追加するとあなたの元の文も正しいだろう、たとえばSQL Fiddle

関連する問題