Order By не работает с Left Join -MySQL / Wordpress - PullRequest
0 голосов
/ 28 июня 2018

У меня есть запрос выше, он получает данные в порядке, но заказ отключен. Я пытаюсь упорядочить результаты по цене. Не уверен, нужно ли мне добавить еще один параметр GROUP BY или мне нужно добавить еще одно объединение. У кого-нибудь еще была такая же проблема?

SELECT wp_posts.ID,wp_postmeta1.meta_value AS sku, wp_postmeta2.meta_value AS Price
                        FROM wp_posts
                        LEFT JOIN wp_postmeta wp_postmeta1
                            ON wp_postmeta1.post_id = wp_posts.ID
                            AND wp_postmeta1.meta_key = '_sku'
                        LEFT JOIN wp_postmeta wp_postmeta2
                            ON wp_postmeta2.post_id = wp_posts.ID
                            AND wp_postmeta2.meta_key = '_price'
                        WHERE (wp_posts.post_type = 'product'
                        AND wp_posts.post_status = 'publish'
                        AND wp_posts.post_title LIKE '%abi%')
                        OR (wp_posts.post_type = 'product'
                        AND wp_posts.post_status = 'publish'
                        AND wp_postmeta1.meta_value LIKE '%abi%'  )
                        GROUP BY wp_posts.ID
                        ORDER BY wp_postmeta2.meta_value ASC
                        LIMIT 15

1 Ответ

0 голосов
/ 29 июня 2018

Использование приведения исправило сортировку. ПОРЯДОК ПО ПРОДАЖЕ (wp_postmeta2.meta_value как без знака) ASC

...