首页 > 解决方案 > 2表列出错误在哪里(帮助)

问题描述

选择 * 从
                        (选择 paymentTop,salesTop,
                            t1.id, t1.sno, t1.fadi, t1.sal_date,
                            t2.pno, t2.pay_date
                        从
                            (
                            选择 id,sno,fadi,sal_date,
                                SUM(sales) A​​S salesTop
                            从表 1
                            其中 id='11'
                                按 sno 分组
                            ) 作为 t1
                         左连接
                            (
                            选择 id、pno、fadi、pay_date
                                SUM(payment) AS paymentTop
                            从表 2
                            其中 id='11'
                                按 pno 分组
                            ) 作为 t2
                            开启 t1.id = t2.id
                         ) 作为 t3
                              按 sno、pno 分组
                             ORDER BY sal_date, pay_date
t1(表 1) t2(表 2)
+--------------------------+ +---------- ---------------------------------------------+
| 编号 | 销售日期 | 没有 | 销售 | | 编号 | 付款日期 | 没有 | 付款 |
+--------------------------+ +---------- ---------------------------------------------+
| 11 | 20/02/2018 | 006089 | 160.80| | 11 | 15/03/2018 | 01815 | 93.85 |
+--------------------------+ +---------- ---------------------------------------------+
| 11 | 2018 年 13 月 3 日 | 008834 | 219.60| | 11 | 25/03/2018 | 07734 | 350,70|
+--------------------------+ +---------- ---------------------------------------------+
| 11 | 2018 年 13 月 3 日 | 008834 | 143.81|     
+--------------------------------------------------+
| 11 | 21/03/2018 | 010257 | 51.00|     
+--------------------------------------------------+
| 11 | 21/03/2018 | 010257 | 553.21|     
+--------------------------------------------------+
我想要的输出
+------------------------------------------------+
| 编号 | 日期 | 没有 | 销售 | 付款 |
+------------------------------------------------+
| 编号 |20/02/2018 | 006089 | 160.80| |
+------------------------------------------------+
| 编号 |13/03/2018 | 008834 | 363.41| |
+------------------------------------------------+
| 编号 |15/03/2018 | 01815 | | 93.85 |
+------------------------------------------------+
| 编号 |21/03/2018 | 010257 | 604.21| |
+------------------------------------------------+
| 编号 |25/03/2018 | 07734 | | 350,70 |
+------------------------------------------------+
查询输出
+--------------------------------------------------------+
| 日期 | 没有 | 销售 | 付款 |
+--------------------------------------------------------+
|20/02/2018 |006089 | 160.80| 93.85 |
+--------------------------------------------------------+
|20/02/2018 |07734 | 160.80| 350,70 |
+--------------------------------------------------------+
|13/03/2018 |008834 | 219.60| 93.85 |
+--------------------------------------------------------+
|15/03/2018 |07734 | 219.60| 350,70 |
+--------------------------------------------------------+
|21/03/2018 |010257 | 553.21| 93.85 |
+--------------------------------------------------------+
|25/03/2018 |07734 | 553.21| 350,70 |
+--------------------------------------------------------+

标签: mysql

解决方案


尝试两个表之间的左连接

select t1.id ,t1.sal_date,t1.no,t1.sales,t2.payment
left join t2
on t1.id=t2.id
and t1.no=t2.no

推荐阅读