powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / И снова join
3 сообщений из 3, страница 1 из 1
И снова join
    #38850584
greenif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста понять правильным ли путем я пошел.

Есть 2 таблицы products и prices(id, product_id, price_type, value). Суть в том, что категорий цен много, то есть один товар может иметь продажную, закупочную и т.д. категории цен для этого и служить колонка price_type.
Цель отсортировать products по цене конкретной категории, но так что бы выборку попадали товары даже если у них нет цены заданной категории. Насколько я понимаю это классический LEFT OUTER JOIN.
Код: sql
1.
SELECT * FROM products LEFT OUTER JOIN prices ON products.id=prices.product_id WHERE prices.price_type='purchase' OR prices.price_type IS NULL ORDER BY prices.value ASC;



Но так я отбираю только те товары для которых задана purchase цена.

Добился желаемого результата с помощью вложенного запроса:
Код: sql
1.
SELECT * FROM products LEFT JOIN (SELECT * FROM prices WHERE prices.price_type='purchase') AS prices_tab ON products.id=prices_tab.product_id ORDER BY prices_tab.value;



Но насколько я понимаю в данному случае можно обойтись только JOIN без встроенного SELECT, только не пойму как.

Подскажите пожалуйста.
...
Рейтинг: 0 / 0
И снова join
    #38850624
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greenif,

Код: sql
1.
2.
3.
4.
SELECT * 
FROM products 
LEFT OUTER JOIN prices ON products.id=prices.product_id and prices.price_type='purchase' 
ORDER BY prices.value ASC;
...
Рейтинг: 0 / 0
И снова join
    #38850822
greenif
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Спасибо тебе добрый человек!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / И снова join
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]