我的数据库中有两张表,In
一张用于Out
. 他们有两列,Quantity
和Price
。如何编写选择正确价格的 SQL 查询?
例如:如果我有 3 件物品用于75,然后有 3 件物品用于80。那么我有两个物品用于75,第三个物品应该用于 75(X),第四个物品应该用于 80(Y)。
如何编写 X 和 Y 的价格查询?他们应该使用第三排和第四排的价格。例如,有没有办法选择In
-table 中的第三行?我不能使用 auto_increment 作为标识符,即“第三”行,因为这些表也将包含其他项目的帖子。这些行不会被删除,出于责任原因,它们将被保存。
SELECT Price FROM In WHERE ...?
新的数据库设计:
+----+
| 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 | <- ?
+-------------+----------+-------+