Проблема с запросом

  • Автор темы prelost
  • 88
  • Обновлено
  • 17, May 2024
  • #1
Привет. Я только начинаю с MySQL. Думаю, я знаю довольно много по сравнению с моей практикой. Однако у меня возникла проблема с одним запросом. У меня есть две таблицы в базе данных. Допустим, одним из них является таблица продуктов.

|ID|Продукт.|

|1.|Продукт1|

|2.|Продукт2|

|3.|Продукт3|

Второй — таблица с разными ценами на эту продукцию.

|ID|IDпродукта|Цена|

|1 |1........|20...|

|2 |1........|30...|

|3 |1........|35...|

|4 |1........|50...|

|5 |2........|10...|

|6 |2........|60...|

|7 |2........|5....|

|8 |3........|2....|

|..|.........|.....|

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

Например, результат запроса должен выглядеть так:

|Продукт |Самая низкая цена|Вторая самая низкая цена|

|Продукт1|20..........|30...............|

|Продукт2|5...........|10.................|

|........|............|...................|

Я буду признателен за любую помощь от вас.

prelost


Рег
01 Jan, 2011

Тем
1

Постов
2

Баллов
12
  • 18, May 2024
  • #2
 SELECT Product, MIN(price1.Price), MIN(price2.Price)
FROM Product
LEFT JOIN Price as price1 ON Product.id=price1.ProductID
LEFT JOIN Price as price2 ON Product.id=price2.ProductID AND price1.Price <> price2.Price
Code (SQL):
 

elveryn


Рег
28 Dec, 2015

Тем
0

Постов
1

Баллов
1
  • 10, Jun 2024
  • #3
вы делаете это, используя запрос вместо таблицы в части запроса «от» и имея ограничение 1 и ограничение 1,1, чтобы получить самый низкий и второй самый низкий уровень по сути выберите продукты.имя, цена p1, цена p2. из продуктов внутреннее соединение (выберите...) как p1, внутреннее соединение (выберите...) как p2
 

maksim77


Рег
01 Jan, 2011

Тем
1

Постов
2

Баллов
12
Тем
49554
Комментарии
57426
Опыт
552966

Интересно