データベースに 2 つのテーブルがあり、1 つは 用In
、もう 1 つは 用Out
です。と の 2 つの列がQuantity
ありPrice
ます。正しい価格を選択する SQL クエリを作成するにはどうすればよいですか?
例: 75 で 3 つのアイテムがあり、次に 80 で 3 つのアイテムが入っているとします。次に、75 で 2 つのアイテムがあり、3つ目は 75 (X) で、4つ目は 80 (Y) である必要があります。
X と Y の価格クエリを作成するにはどうすればよいですか? 3 行目と 4 行目の価格を使用する必要があります。たとえば、テーブルの 3 行目を選択する方法はありますIn
か? テーブルには他のアイテムの投稿も含まれるため、auto_increment を「3 番目」の行の識別子として使用することはできません。行は削除されず、説明責任のために保存されます。
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 | <- ?
+-------------+----------+-------+