sql >> データベース >  >> RDS >> Mysql

skuで製品min_priceを取得する

    post_statusを介してクエリをフィルタリングするため 最初に、wp postテーブルである正しいテーブルで値を探す必要があります。これを行うには、JOINステートメントを使用してSQLクエリを更新し、複数のテーブルの相関値を照合します。この場合、 product_id wp.postswp.postmetaにあるテーブル テーブル。

    JOINステートメントを使用して照合するテーブル:

    • wp.posts $wpdb->posts
    • wp.postmeta $wpdb->wc_product_meta_lookup

    以下は更新された関数です:

    function get_product_min_price_by_sku( $sku ) {
        global $wpdb;
    
        $min_price = $wpdb->get_var(
            $wpdb->prepare(
                "
                SELECT MIN(lookup.min_price) 
                FROM {$wpdb->wc_product_meta_lookup} AS lookup
                INNER JOIN {$wpdb->posts} AS posts ON lookup.product_id = posts.id
                WHERE
                posts.post_type IN ( 'product', 'product_variation' )
                AND posts.post_status = 'publish'
                AND lookup.sku = '%s'
                LIMIT 1
                "
            , $sku)
        );
    
        return $min_price;
    }
    



    1. MySQL –エラーの修正–WordPressデータベースエラークエリのキーPRIMARYの重複エントリINSERTINTO wp_options

    2. 注意:phpでの配列から文字列への変換

    3. Oracleで科学的記数法で数値をフォーマットする方法

    4. mySQL:レーベンシュタイン距離を使用して20,000行の重複を検索