Mysql SQL-从表1中删除一些符合表2某些条件的RAW
我有一个MySQL数据库,其中有两个表:表1,表2 表1的结构如下:Mysql SQL-从表1中删除一些符合表2某些条件的RAW,mysql,sql,Mysql,Sql,我有一个MySQL数据库,其中有两个表:表1,表2 表1的结构如下: ID, name, description TableID, Metadata, Metavalue 表2的结构如下: ID, name, description TableID, Metadata, Metavalue 现在,我想从表1和表2中删除Metadata=“Price”和Metavalue
ID, name, description
TableID, Metadata, Metavalue
表2的结构如下:
ID, name, description
TableID, Metadata, Metavalue
现在,我想从表1和表2中删除Metadata=“Price”和Metavalue<200000的所有行
这是我正在尝试的,但它不起作用:
DELETE Table1, Table2
FROM Table2
INNER JOIN Table2 ON Table2.TableID = Table1.ID
WHERE Table2.metadata="Price" AND Table2.Metavalue < 200000
我错在哪里
注意:这些表非常大,因此我使用JOIN,因为据我所知,它优化了资源。以下是可靠查询的示例:
DELETE Table1
, Table2
FROM Table1
JOIN Table2
ON Table2.TableID = Table1.ID
WHERE Table2.metadata = "Price"
AND Table2.Metavalue < 200000
删除表1
,表二
来自表1
加入表2
在Table2.TableID=Table1.ID上
其中Table2.metadata=“价格”
表2:元值<200000
请注意,使用外键约束可能可以更好地处理此类问题仔细阅读您发布的查询。您使用的是MySQL还是MS SQL Server?@EzLo我认为OP使用的是MySQL。那没关系,我的评论是针对SQL Server的!表2中的
TableID
是表1.ID的外键吗?