Как сделать select + join вместо select from (select())?

Добрый день!

Как из этого запроса, сделать запрос с join?

$subQuery = (new Query())
		    ->select('MIN(t2.price)')
		    ->from('tailings t2')
		    ->where('t2.code_medication = t.code_medication');

            'query' => Tailings::find()->select(['id', 'price', 'name', 'producer', 'country', 'sale_med'])
                              ->from('tailings t')
                              ->where(['t.price' => $subQuery])
                              ->groupBy('t.code_medication');


Я так понимаю имеющийся запрос создает временную таблицу? Можно ли это сделать по другому? видел как то запрос с join SELECT * FROM tailings join (select..

Заранее спасибо.
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov Куратор тега MySQL
Web developer
SELECT tailings.id, tailings.price, tailings.name, tailings.producer, tailings.country, tailings.sale_med
FROM
   tailings,
   (SELECT code_medication, MIN(price) AS min_price FROM tailings GROUP BY code_medication) t
WHERE 
   tailings.code_medication = t.code_medication
   AND tailings.price = t.min_price
Ответ написан
Ваш ответ на вопрос

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

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