В моей базе данных есть две таблицы: одна для In
и одна для Out
.У них есть две колонки, Quantity
и Price
.Как я могу написать SQL-запрос, который выбирает правильную цену?
Например: если у меня есть 3 элемента в для 75, а затем 3 элемента в для 80Тогда у меня есть два out для 75, а третий out должен быть для 75 (X), а четвертый out должен быть для 80 (Y).
Как мне написать запрос цен для X и Y? Они должны использовать цену из третьей и четвертой строки.Например, есть ли способ ВЫБРАТЬ третью строку в таблице In
?Я не могу использовать auto_increment в качестве идентификатора для "третьей" строки, потому что таблицы будут содержать записи для других элементов.Строки не будут удалены, они будут сохранены по причинам подотчетности.
SELECT Price FROM In WHERE ...?
NEW дизайн базы данных:
+----+
| In |
+----+------+-------+
| Supply_ID | Price |
+-----------+-------+
| 1 | 75 |
| 1 | 75 |
| 1 | 75 |
| 2 | 80 |
| 2 | 80 |
+-----------+-------+
+-----+
| Out |
+-----+-------+-------+
| Delivery_ID | Price |
+-------------+-------+
| 1 | 75 |
| 1 | 75 |
| 2 | X | <- ?
| 3 | Y | <- ?
+-------------+-------+
СТАРЫЙ дизайн базы данных:
+----+
| In |
+----+------+----------+-------+
| Supply_ID | Quantity | Price |
+-----------+----------+-------+
| 1 | 3 | 75 |
| 2 | 3 | 80 |
+-----------+----------+-------+
+-----+
| Out |
+-----+-------+----------+-------+
| Delivery_ID | Quantity | Price |
+-------------+----------+-------+
| 1 | 2 | 75 |
| 2 | 1 | X | <- ?
| 3 | 1 | Y | <- ?
+-------------+----------+-------+