一个复杂sql语句实例

13 篇文章 0 订阅
2 篇文章 0 订阅

 SELECT ls.areaAddress AS areaAddress,(SELECT des FROM librarys_level WHERE VALUE=ls.libraryLevel) AS libraryLevel,ls.hallCode AS hallCode,ls.NAME 

 AS libraryName, 
SUM(IF(isOut=1,(temp.price+temp.attachPrice),0)) AS inTotalprice,
SUM(IF(isOut=2,(temp.price+temp.attachPrice),0)) AS outTotalprice,
SUM(IF(isOut=1,1,0)) AS inTotalCount,
SUM(IF(isOut=2,1,0)) AS outTotalCount

FROM librarys AS ls
LEFT JOIN (
    SELECT CASE
WHEN circulate.outHallCode =ls1.hallCode THEN 2
ELSE 1
END AS isOut,
circulate.outHallCode AS outHallCode,   
circulate.inHallCode AS inHallCode,     
book.price AS price,
book.attachPrice AS attachPrice,
sc.hallCode AS customerHallCode
    FROM librarys AS ls1
    LEFT JOIN system_customer AS sc ON sc.id 

=ls1.customerId
    LEFT JOIN library_circulate AS circulate  ON (circulate.outHallCode=ls1.hallCode OR circulate.inHallCode=ls1.hallCode)
    LEFT JOIN library_circulate_map AS map ON map.circulateId=circulate.id 

 
    LEFT JOIN library_books book ON book.id 

=map.libraryBookId 
    WHERE circulate.circulate_status=6 
) AS temp ON IF(isOut=1,temp.inHallCode=ls.hallCode,temp.outHallCode=ls.hallCode)
WHERE customerHallCode='AARH' GROUP BY ls.hallcode 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值