从一个表中删除所有与两个(或更多)表中的条件匹配的记录

时间:2014-09-19 11:00:06

标签: mysql

请考虑以下事项:

QUERY

SELECT * FROM 
`table1`,`table2` 
WHERE `table1`.`RemoteID` = `table2`.`ID` 
AND `table2`.`UserID`=1

如何将这些记录匹配的table1中的SELECT更改为DELETE?它必须从table1删除,而不是table2

在不太具体的术语中,我想删除table1中的所有记录,它们匹配两个表的一些标准(离散和相对)

2 个答案:

答案 0 :(得分:1)

您可以将IN与子查询

一起使用
DELETE FROM table1
WHERE `table1`.`RemoteID` IN (
    SELECT ID 
    FROM table2
    WHERE `table2`.`UserID`=1)

答案 1 :(得分:0)

试试这个,

删除 来自table1 其中Id (选择table1Id 来自table1 t1,table2 t2 其中t1。RemoteID = t2。ID   和table2UserID = 1)