我需要有关如何使用 MySQL 创建装箱单的帮助。
假设我有 32 盒键盘准备发货,主纸箱可以包含 12 盒。
我只有 32 个盒子和 12 个体积。下面结果中的另一个值是由 sql 命令生成的。不是来自记录。
因此,这很容易计算出主纸箱的数量为 3 个主纸箱,其中一个作为非标准数量。如何对此进行查询?
因为我想成为这个结果:
+----------+---------------+-------------------+--------+------------+---------+
| Quantity | Standard_Qty | Non_Standard_Qty | Box_N | Box_Total | RowType |
+----------+---------------+-------------------+--------+------------+---------+
| 12 | 1 | 0 | 1 | 3 | Detail |
| 12 | 1 | 0 | 2 | 3 | Detail |
| 8 | 0 | 1 | 3 | 3 | Detail |
| 32 | 2 | 1 | | | Summary |
+----------+---------------+-------------------+--------+------------+---------+
它看起来像我知道的两个查询,可能是我在这里教过的 FLOOR 命令的使用。如何做出这个结果?
提前致谢。斯蒂芬
谢谢凯,
但我想通过 SQL 命令生成它,而不是通过客户端编程。我像这样被夹在中间。无论如何,这不是一个完整的专栏,我的意图是在我的原始帖子中。
mysql> SELECT
-> art_name,
-> color_code,
-> volume,
-> SUM(quantity) AS total,
-> FLOOR(SUM(quantity) / volume) as boxes_sq,
-> (SUM(quantity) % volume) as box_nsq_contain
-> FROM order_main
-> WHERE order_main_id = "11"
+----------+------------+--------+-------+----------+-----------------+
| art_name | color_code | volume | total | boxes_sq | box_nsq_contain |
+----------+------------+--------+-------+----------+-----------------+
| KEYBOA | CAR | 12 | 5 | 0 | 5 |
| KEYBOA | CAR | 12 | 9 | 0 | 9 |
| KEYBOA | CAR | 12 | 15 | 1 | 3 |
| KEYBOA | CAR | 12 | 20 | 1 | 8 |
| KEYBOA | CAR | 12 | 12 | 1 | 0 |
| KEYBOA | CAR | 12 | 6 | 0 | 6 |
| KEYBOA | CAR | 12 | 3 | 0 | 3 |
| KEYBOA | CSM | 12 | 5 | 0 | 5 |
| KEYBOA | CSM | 12 | 9 | 0 | 9 |
| KEYBOA | CSM | 12 | 17 | 1 | 5 |
| KEYBOA | CSM | 12 | 21 | 1 | 9 |
| KEYBOA | CSM | 12 | 14 | 1 | 2 |
| KEYBOA | CSM | 12 | 6 | 0 | 6 |
| KEYBOA | CSM | 12 | 3 | 0 | 3 |
+----------+------------+--------+-------+----------+-----------------+