我正在尝试找到一种通过SQL从WooCommerce的数百种产品中删除特定类别的解决方案。不幸的是,Wordpress核心仍然无法做到这一点,并且我还没有找到用于大范围编辑WooCommerce产品类别的任何插件或代码。
我是SQL的新手,并尝试将在这里找到的一些查询组合在一起,但是它们都无法正常工作。
我敢肯定,如果有人知道答案,那么会有更多的人会发现这个主题确实很有帮助。
我的产品有多个类别,因此该表如下所示:
object_id term_taxonomy_id
1 10
1 20
1 30
2 10
2 30
3 20
3 30
3 40
4 10
4 20
我要过滤类别为10和20的产品。
object_id term_taxonomy_id
1 10
1 20
4 10
4 20
..然后仅选择值20的行,因此输出应为:
object_id term_taxonomy_id
1 20
4 20
我希望我能实现的目标是可能的。
最佳答案
是的,可以使用一个存在子查询来检查分类标识为10的对象:
select t1.object_id, t1.term_taxonomy_id
from yourtable t1
where t1.term_taxonomy_id=20
and exists (select 1
from yourtable t2
where t2.term_taxonomy_id=10 and t2.object_id=t1.object_id)
您可以使用自联接或
in()
子查询,但是存在通常更快,因为它不需要第二次获取数据。关于mysql - MySQL-在另一列中仅选择具有相同ID和特定值的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42237832/