【发布时间】:2015-12-13 03:54:12
【问题描述】:
我正在做一个小项目来销售我这样的桌子
sale_order
+----+------------+--------+--------------+-------------+----------+----------+
| so | date | po_num | structure_id | customer_id | quantity | rate |
+----+------------+--------+--------------+-------------+----------+----------+
| 2 | 2015-01-09 | 23 | 1 | 11 | 1234 | 0.0000 |
| 3 | 2015-09-02 | 1234 | 1 | 12 | 1000 | 0.0000 |
| 12 | 2015-09-01 | 1234 | 3 | 12 | 100000 | 12.0000 |
| 13 | 2015-09-01 | 232 | 4 | 11 | 1000 | 123.0000 |
| 14 | 2015-09-01 | 1212 | 4 | 12 | 10000 | 123.0000 |
| 15 | 2015-11-04 | 3424 | 1 | 11 | 2555 | 0.0000 |
| 16 | 2015-11-04 | 343 | 2 | 11 | 233333 | 0.0000 |
| 17 | 2015-12-02 | 12345 | 3 | 13 | 10000 | 0.0000 |
+----+------------+--------+--------------+-------------+----------+----------+
结构
+----+------------------+
| id | job_name |
+----+------------------+
| 4 | ketchup |
| 3 | bubble |
| 2 | masala |
| 1 | xyz |
+----+------------------+
客户
+-------------+-------------------------------+
| customer_id | customer_name |
+-------------+-------------------------------+
| 11 | customer 1 |
| 12 | xyz |
| 13 | abc |
+-------------+-------------------------------+
派送
+----+----+------------+-----------+
| id | so | date | delivered |
+----+----+------------+-----------+
| 1 | 2 | 2015-09-02 | 123.00 |
| 2 | 12 | 2015-09-02 | 203.00 |
| 3 | 12 | 2015-09-17 | 213.00 |
| 4 | 2 | 2015-05-11 | 123.00 |
| 5 | 14 | 2015-11-06 | 233.00 |
+----+----+------------+-----------+
我要创建一份报告,其中显示总订单数量以及相关的交货和余额。使用 PHP C# 或其他编程语言,我可以在第一次获取订单时对 mysql 服务器进行两次请求
SELECT
so.po_num,
so.date,
c.customer_name,
st.job_name,
so.rate,
so.quantity
FROM
sale_order AS so
JOIN
structure AS st ON so.structure_id = st.id
JOIN
customer AS c ON so.customer_id = c.customer_id
然后用这个 id 到那里交货
SELECT
d.date,
d.id AS reference,
d.net_weight AS deliverd
FROM
dispatch AS d
WHERE
d.so = so.id
但是我想用一个查询来生成所有东西,无论如何直接用mysql查询来实现这个结果
期望的结果:有或没有-
SO # | DATE | JOB NAME | RATE | ORDER QUANTITY | D DATE | REFREENCE | D QUANTITY | BALANCE
1 2/2/2015 ABC XXX XXX 4/2/2015 D-12 XX XX
- - - - - 5/2/2015 D-22 XX XX
- - - - - 7/2/2015 D-50 XX XX
2 2/2/2015 ABC XXX XXX 4/2/2015 D-14 XX XX
- - - - - 5/2/2015 D-26 XX XX
- - - - - 7/2/2015 D-58 XX XX
提前致谢
【问题讨论】:
-
您喜欢创建黑白关系表吗?
-
SO 1 来自哪里?我只是看不到数据集与结果集的对应关系。据推测,它没有,但是为什么要打扰呢?
-
这是假的 1 应该替换任何销售订单 ID
-
是的,我已经在表之间创建了关系