Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 删除带有使用join语句的查询的行_Mysql_Sql_Sql Delete - Fatal编程技术网

Mysql 删除带有使用join语句的查询的行

Mysql 删除带有使用join语句的查询的行,mysql,sql,sql-delete,Mysql,Sql,Sql Delete,我有一个select查询,用于检查重复项 select ID, post_id, post_name, post_date, Count(meta_value) FROM wp_yepf_posts p join wp_yepf_postmeta pm on p.ID = pm.post_id WHERE p.post_type = 'product' and pm.meta_key='_sku' group by meta_value having count(meta_value)>

我有一个select查询,用于检查重复项

select ID, post_id, post_name, post_date, Count(meta_value) FROM wp_yepf_posts p join wp_yepf_postmeta pm on p.ID = pm.post_id WHERE p.post_type = 'product' and pm.meta_key='_sku'  group by meta_value having count(meta_value)>1 
这将返回countmeta_值大于1的2458条记录-如果可能,我需要删除这些记录,并留下记录的一个副本,但每次尝试这样的删除查询时,我都会出错

delete p 
FROM wp_yepf_posts p 
join wp_yepf_postmeta pm on p.ID = pm.post_id (select DUPLICATE.entity_id in (Select DISTINCT(pm.meta_key='_sku') as sku, Count(pm.meta_key='_sku') as skuCount, entity_id
from wp_yepf_posts p join wp_yepf_postmeta pm on p.ID = pm.post_id 
group by sku Having skucount>1) as dup)
错误是

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“select DISTINCTpm.meta_key=”sku“as sku,Count”附近使用的正确语法


我想你刚才错过了一个接线员:

删除p 来自wp_yepf_posts p 在p.ID=pm.post\u ID上加入wp\u yepf\u postmeta pm,并在select DISTINCTpm中选择DUPLICATE.entity\u ID。meta\u key=''sku'作为sku,Countpm。meta\u key=''sku'作为sku,entity\u ID 从wp_yepf_posts p加入wp_yepf_Posteta pm on p.ID=pm.post_ID
按sku分组,skucount>1为dup

Err]1093-您无法指定从第条中更新的目标表“p”。我认为您现在遇到了一个非常直接的错误。建议您尝试使用不同的别名,您使用了两次p。此外,这似乎可能是的一个副本,所以它可能会帮助您我知道如何删除中的位置,而不是中的位置。我无法开始工作的是删除副本…不试图密集,但我遗漏了一些