【问题标题】:WordPress SELECT with JOIN not working [closed]带有 JOIN 的 WordPress SELECT 不起作用 [关闭]
【发布时间】:2015-11-14 05:53:42
【问题描述】:

我正在开发一个 WORDPRESS 插件,我需要所有产品详细信息,该网站使用 woocommerce 插件,woocomerce 将产品存储为帖子和产品元数据存储(分布)在许多其他表中。我必须得到所有的产品(和相关细节)。我用谷歌搜索并找到了下面的查询。它似乎对其他人有用,但我无法使其工作。

global $wpdb;
    $sql = "SELECT 
                    p.id, 
                    p.post_title, 
                    p.guid, 
                    p.post_type, 
                    m.meta_key, 
                    m.meta_value, 
                    meta_sp.meta_value as sale_price, 
                    meta_ap.meta_value as additional_price
            FROM wp_posts p
            INNER JOIN wp_postmeta m
            INNER JOIN wp_postmeta meta_sp ON p.id=meta_sp.post_id 
                AND meta_sp.meta_key='sale_price'
            INNER JOIN wp_postmeta meta_ap ON p.id=meta_ap.post_id 
                AND meta_ap.meta_key='additional_price'
            WHERE p.id=m.post_id
            AND m.meta_key='_rentable' AND m.meta_value='yes'";

        $results = $wpdb->get_results($sql);
        var_dump($results);

Result :  array (size=0) empty.

谁能告诉我如何使上述查询工作,或者可能是一种获取站点数据库中所有产品的方法

【问题讨论】:

    标签: mysql wordpress wordpress-theming


    【解决方案1】:

    您缺少ON,试试这个:

    SELECT 
        p.id, 
        p.post_title, 
        p.guid, 
        p.post_type, 
        m.meta_key, 
        m.meta_value, 
        meta_sp.meta_value as sale_price, 
        meta_ap.meta_value as additional_price
    FROM wp_posts p
    INNER JOIN wp_postmeta m ON p.id=m.post_id 
    INNER JOIN wp_postmeta meta_sp ON p.id=meta_sp.post_id 
        AND meta_sp.meta_key='sale_price'
    INNER JOIN wp_postmeta meta_ap ON p.id=meta_ap.post_id 
        AND meta_ap.meta_key='additional_price'
    WHERE p.id=m.post_id
    AND m.meta_key='_rentable' AND m.meta_value='yes'
    

    【讨论】:

    • 嘿 Benvorth,我尝试了您的解决方案,但它仍然是相同的数组 (size=0) 为空。其他查询工作正常,但这个特定的查询没有工作。看看还有什么问题,谢谢回复。
    猜你喜欢
    • 1970-01-01
    • 2013-04-21
    • 2014-08-08
    • 2016-02-25
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    • 2021-11-10
    相关资源
    最近更新 更多