首页 > 解决方案 > 在sql中声明和使用变量失败

问题描述

我正在尝试获取所有具有一种或多种“库存”变体的产品。我需要用 SQL 查询来做,但它返回“语法错误”。我认为问题出在变量上。谁能帮我解决这个问题?

SELECT *, @post_id := ID
FROM wp_posts
WHERE post_status='publish'
AND EXISTS (
    SELECT * FROM wp_postmeta WHERE post_id IN(
        SELECT ID FROM wp_posts WHERE post_parent=@post_id AND 
post_type='product_variation'
) AND meta_key='_stock_status' AND meta_value='instock'
    )

编辑:现在,在将 =IN() 更改为 IN 并将 EXIST 更改为 EXISTS 后,我没有任何错误,但查询没有返回任何内容。当我用任何数字替换@post_id 时效果很好。这个变量有什么问题?

标签: mysqlsqlwordpresswoocommercesyntax

解决方案


推荐阅读