sql >> Database >  >> RDS >> Mysql

Ontvang product min_price door sku

Om de zoekopdracht te filteren via de post_status we moeten eerst zoeken naar de waarde in de juiste tabel, de wp posts-tabel, we kunnen dit doen door onze SQL-query bij te werken met behulp van de JOIN-instructie en de correlatiewaarden in meerdere tabellen te matchen, in dit geval komen we overeen met de product_id in de wp.posts tabel met die in de wp.postmeta tafel.

De tabellen die we matchen met behulp van de JOIN-instructie:

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

Hieronder is een bijgewerkte functie:

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. Maak een database-e-mailprofiel (SSMS)

  2. MySQL UPDATE-query waarbij subquery voor altijd duurt

  3. Beginnersvraag over mySQL en PHP om te voorkomen dat u op elke pagina verbinding maakt met DB

  4. Postgres ORDER BY-waarden in IN-lijst met Rails Active Record