sql >> Databasteknik >  >> RDS >> Mysql

Få produkt min_pris per sku

För att filtrera frågan via post_status vi måste först leta efter värdet i rätt tabell som är wp posts-tabellen, vi kan göra det genom att uppdatera vår SQL-fråga med JOIN-satsen och matcha de korrelerande värdena i flera tabeller, i det här fallet matchar vi produkt-id i wp.posts tabell med den i wp.postmeta bord.

Tabellerna vi matchar med JOIN-satsen:

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

Nedan finns en uppdaterad funktion:

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. Är JPA (EclipseLink) anpassade typer möjliga?

  2. Exportera MySQL eller MariaDB-databas

  3. Hur laddar jag in en lokal .SQL-fil i MySQL?

  4. Oracle String hittills 2013-10-15T20:12:56.24584+0100