@its2easyy

Как исправить SQL запрос для получения минимального значения мета поля только опубликованных постов?

Есть запрос, который получает минимальное значение поля project_price
global $wpdb;
	$meta = '_project_price';
	$query = $wpdb->prepare(
		"SELECT min( cast( meta_value as UNSIGNED ) ) FROM {$wpdb->postmeta} WHERE meta_key='%s'",
		$meta
	);
	$result =  $wpdb->get_var( $query );

Считает правильно, но при этом учитывает ревизии постов. Как доработать запрос, чтобы учитывались только опубликованные посты?
  • Вопрос задан
  • 29 просмотров
Решения вопроса 1
@dzhebrak
Сделайте join таблицы wp_posts и в where добавьте wp_posts.post_type != "revision"

Получится примерно так:
SELECT min( cast( meta_value as UNSIGNED ) ) FROM {$wpdb->postmeta} LEFT JOIN {$wpdb->posts} ON {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id WHERE meta_key='%s' and {$wpdb->posts}.post_type != "revision"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы