Starck43
@Starck43
Web разработчик (Python, PHP, SQL + frontend )

Почему в запросе не срабатывает проверка на NULL?

Почему в основном запросе колонки rate выводятся со значением NULL, хотя я делаю в подзапрос проверку ISNULL ?
spoiler
SELECT 
	wp_posts.ID, 
	wp_posts.post_title, 
	wp_wc_product_meta_lookup.min_price, 
	wp_wc_product_meta_lookup.max_price, 
	post_meta.rate, 
	term_meta.rate 
FROM 
	wp_posts 
	LEFT JOIN wp_term_relationships ON (
		wp_posts.ID = wp_term_relationships.object_id
	) 
	LEFT JOIN wp_wc_product_meta_lookup ON (
		wp_posts.ID = wp_wc_product_meta_lookup.product_id
	) 
	LEFT JOIN (
		SELECT 
			term_id, 
			CASE WHEN ISNULL(tt.term_id) THEN 1 ELSE 80 END as rate 
		FROM 
			wp_termmeta tt 
		WHERE 
			tt.meta_key = 'convert_to_rub' 
			AND tt.meta_value = 1
	) term_meta ON (
		term_meta.term_id = wp_term_relationships.term_taxonomy_id
	) 
	LEFT JOIN (
		SELECT 
			post_id, 
			CASE WHEN ISNULL(pt.post_id) THEN 1 ELSE 80 END as rate 
		FROM 
			wp_postmeta as pt 
		WHERE 
			pt.meta_key = 'convert_to_rub' 
			AND pt.meta_value = 1
	) post_meta ON (wp_posts.ID = post_meta.post_id) 
WHERE 
	wp_term_relationships.term_taxonomy_id IN (85, 485, 722)

AND wp_posts.post_type = 'product' 

GROUP BY 
	wp_posts.ID 
ORDER BY 
	wp_posts.post_name ASC 
LIMIT 
	0, 20


spoiler
5f15eca10819d663544831.png
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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