SQL: получение текущей даты цены товара и кода товара - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть 3 таблицы, и мне нужно получить список кодов продуктов и их текущие цены.Таблица продуктов содержит название продукта (строка) и его код (целое число), таблица производителя содержит название продукта (строка) и код производителя (целое число) для него, а таблица цен содержит код производителя (целое число) для продуктов, цену (числовой) и дата (дата).У меня нет большого опыта работы с SQL, кроме базовых, и я не могу понять, как получить правильный список.

1 Ответ

0 голосов
/ 27 сентября 2018

Я только что построил вам пример на тот случай, если вам нужно его изучить:)

Продукт

+----+----------------+
| id |      name      |
+----+----------------+
|  1 | GFORCE TITAN   |
|  2 | GFORCE 770     |
|  3 | GFORCE 1060 TI |
+----+----------------+

Производитель

+----+----------+
| id |   name   |
+----+----------+
|  1 | Gigabyte |
|  2 | Asus     |
|  3 | MSI      |
+----+----------+

Цены

+----+-------+-----------------+------------+
| id | price | manufacturer_id | product_id |
+----+-------+-----------------+------------+
|  1 |  1000 |               1 |          1 |
|  2 |   600 |               1 |          2 |
|  3 |   400 |               2 |          2 |
|  4 |   300 |               3 |          3 |
+----+-------+-----------------+------------+

И вы должны запросить что-то вроде этого:

SELECT p.price, m.name as manufacturer, pr.name as product
FROM Prices p
JOIN Manufacturer m ON p.manufacturer_id = m.id
JOIN Product pr ON p.product_id = pr.id
ORDER BY p.price DESC

Результат будет:

+----+-------+--------------+----------------+
| id | price | manufacturer |    product     |
+----+-------+--------------+----------------+
|  1 |  1000 | Gigabyte     | GFORCE TITAN   |
|  2 |   600 | Gigabyte     | GFORCE 770     |
|  3 |   400 | Asus         | GFORCE 770     |
|  4 |   300 | MSI          | GFORCE 1060 TI |
+----+-------+--------------+----------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...