mysql右连接,判断大小
来源:互联网 发布:在线网络理财投资服务 编辑:程序博客网 时间:2024/05/22 07:46
SELECT (CASE when c.billcycle>c.firstzm THEN c.billcycle ELSE c.firstzm END )AS firstzm,c.thirdzm,c.secondzm FROM(SELECT *FROM (SELECT CAST(MONTH(billcycle) AS CHAR)AS billcycle,CAST(COUNT(MONTH(billcycle)) AS CHAR) AS thirdzm FROM tb_ac_billpaid_yym WHERE (SELECT MONTH(billcycle))>(select MONTH(NOW())-4) AND (select MONTH(billcycle))<=(select MONTH(NOW())) GROUP BY CAST(MONTH(billcycle) AS CHAR)) AS a RIGHT JOIN (SELECT CAST(MONTH(billcycle) AS CHAR)AS firstzm,CAST(COUNT(MONTH(billcycle)) AS CHAR) AS secondzm FROM tb_ac_billunpaid WHERE (SELECT MONTH(billcycle))>(select MONTH(NOW())-4) AND (select MONTH(billcycle))<=(select MONTH(NOW())) GROUP BY CAST(MONTH(billcycle) AS CHAR)) AS b ON a.billcycle=b.firstzm) AS c
对于我这样一个菜鸟我都佩服我能写出这样的sql语句。
下面我来解释一下我的这段sql语句的意思:
首先分别从两个表中查出自己需要的数据:
(1)
SELECT CAST(MONTH(billcycle) AS CHAR)AS billcycle,CAST(COUNT(MONTH(billcycle)) AS CHAR) AS thirdzm FROM tb_ac_billpaid_yym WHERE (SELECT MONTH(billcycle))>(select MONTH(NOW())-4) AND (select MONTH(billcycle))<=(select MONTH(NOW())) GROUP BY CAST(MONTH(billcycle) AS CHAR)(2)
SELECT CAST(MONTH(billcycle) AS CHAR)AS firstzm,CAST(COUNT(MONTH(billcycle)) AS CHAR) AS secondzm FROM tb_ac_billunpaid WHERE (SELECT MONTH(billcycle))>(select MONTH(NOW())-4) AND (select MONTH(billcycle))<=(select MONTH(NOW())) GROUP BY CAST(MONTH(billcycle) AS CHAR)
这两段sql有异曲同工之处,就是在查询的时候我修改了字段的类型为char型,因为我的实体类中是String型,所以我必须修改一下字段类型;查询的条件是当前月以及前四个月。
然后,根据月份将两个表右连接起来。
最后一步,我是根据两个表中,月份大的为字段,查出了所有数据。
在写的时候我出现了一个问题,就是case语句还不够熟悉,case的语法是:case when then else end;千万记住end不能少。不然就会像我一样报错咯!!!
阅读全文
0 0
- mysql右连接,判断大小
- MySQL左连接、右连接
- MySQL左连接、右连接
- MySQL左连接右连接
- mysql 左连接 右连接
- mysql 左连接 右连接
- MySQL左连接/右连接/等值连接
- mysql左连接、右连接、交叉连接
- mysql左连接、右连接、交叉连接
- MySQL左连接、右连接、内连接
- MySQL左连接,右连接,等值连接
- MySQL左连接、右连接、等值连接
- mysql左/右/内连接
- MySQL 左连接 右连接 详解
- mysql连接查询 左,右,内连接
- mysql之左连接与右连接
- mysql 左连接右连接问题
- mysql之左连接与右连接
- python 报错 ImportError: No module named model_selection 的解决办法
- Java学习之Iterator(迭代器)的一般用法 (转)
- BZOJ 1191 [HNOI2006]超级英雄Hero 二分图匹配
- MySQL数据库的一些操作,修改设置密码等
- 从头学习linux C 冒泡法排序
- mysql右连接,判断大小
- cassandra关于集合类型的操作
- Jsp和Servlet的小记
- MOOC清华《程序设计基础》第5章第5题:用递归算法实现数组求和
- 堆应用The kth great number
- MarkDown首行缩进和换行
- 暑假集训test6
- jiva初级,基本数据类型,运算符
- WebClient的get和post动态请求