2012-04-06 50 views
2

我将从2个表中删除数据。我会这样做:在同一语句中从两个表中删除SQL

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语法错误。我如何解决这个问题SQL AS语句?就像下面的例子。

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

你的意思究竟有什么“* SQL ASS *”你原来的说法也将是正确的吗? – 2012-04-06 10:16:48

+0

我认为他是指MySQL:它是屁股。你应该尝试SQL Server。 '' – 2012-04-06 10:18:07

回答

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