Mysql
 sql >> база данни >  >> RDS >> Mysql

Вземете min_price на продукт по sku

За да филтрирате заявката чрез post_status първо трябва да потърсим стойността в правилната таблица, която е таблицата wp posts, можем да го направим, като актуализираме нашата SQL заявка с помощта на оператора JOIN и съпоставим корелиращите стойности в множество таблици, в този случай съпоставяме product_id в wp.posts таблица с тази в wp.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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Параметризирано име на таблица

  2. Laravel 5 Eloquent HasManyThrough - име колони във връзки

  3. Актуализация на MySQL с подзаявка в безопасен режим на актуализация

  4. Как да използвам bootstrap css таблици за показване на данни от MySQL таблици?

  5. Избиране от една и съща таблица повече от веднъж в една и съща заявка