Mysql 基于另一个具有条件的表更新表

Mysql 基于另一个具有条件的表更新表,mysql,sql,join,Mysql,Sql,Join,我想更新所有列,其中post\u type=product和post\u status=publish。此外,我需要加入,因为我只想更新那些帖子,其中计数(…)为0 我想计算metameta\u键,如“%product\u shops\u%\u price%” 以下是两个表格示例: wp441_员额: | ID | post_status | post_type | -------------------------------- | 1 | publish | product |

我想更新所有列,其中
post\u type=product
post\u status=publish
。此外,我需要加入,因为我只想更新那些帖子,其中
计数(…)
为0

我想计算meta
meta\u键,如“%product\u shops\u%\u price%”

以下是两个表格示例:

wp441_员额:

| ID | post_status | post_type |
--------------------------------
|  1 |   publish   |  product  |
|  2 |    darf     |  product  |
|  3 |    darf     |  product  |
|  4 |   publish   |    page   |
|  5 |   publish   |    page   |
|  6 |   publish   |    page   |
--------------------------------
wp441_邮递时间:

| meta_id | post_id |        meta_key         | met_value |
----------------------------------------------------------
|  1      |    1    |  product_shops_0_price  |    45.00  
|  2      |    1    |  product_shops_1_price  |    25.00  |
|  3      |    1    |  product_shops_2_price  |    45.00  |
|  4      |    2    |       thumbnail_url     | https://..|
-----------------------------------------------------------
比如说。在这两个表中,我只想将
ID
1的
post\u状态设置为
draft
,因为这是我的条件匹配的唯一post。在wp441\u Posteta表中,我有超过0个
product\u shops\u%\u price
prices,我有一个帖子现在在
publish
上,它是一个“产品”

我已经修改了一个声明,但目前还没有加入:

SELECT COUNT(meta_key) FROM `wp441_postmeta` WHERE meta_key LIKE "%product_shops_%_price%" GROUP BY (post_id) 
现在我需要在这个语句中插入join。但是我不知道怎么。。。谁能帮帮我吗


你好

为您解释的案例更新
wp441\u帖子。帖子状态
为value
draft
其中:

  • post\u类型='产品和post\u状态='公共'
  • 并将
    post\u id
    wp441\u postmeta.post\u id
    匹配,post\u id
具有多行
meta\u键,如“%product\u shops%\u price%”
声明如下:

UPDATE wp441_posts p
JOIN (
  SELECT pm.post_id
  FROM wp441_postmeta
  WHERE meta_key LIKE '%product_shops_%_price%'
  GROUP BY pm.post_id
  HAVING COUNT(*) > 0
  ) pm
  ON p.id = pm.post_id
SET post_status = 'draft'
WHERE pm.post_type = 'product' AND pm.post_status = 'publish'
我认为您的
LIKE
应该与
产品\u商店\u%\u价格
进行比较,而不需要在字符串的开头和结尾添加
%
符号,但这取决于WordPress如何在其中输入值。尽管考虑一下。