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

  • Автор темы Prelost
  • Обновлено
  • 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

Тем
70

Постов
196

Баллов
556
  • 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

Тем
67

Постов
186

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

Maksim77


Рег
01 Jan, 2011

Тем
64

Постов
192

Баллов
542
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно