sql镶嵌查询_SQL嵌套查询总结

这篇博客分享了一段关于数据库设计和查询优化的经验。作者在初期遇到编程语言和数组逻辑的挑战后,逐渐转向了数据库设计的难题。通过一个复杂的UNION嵌套查询示例,展示了如何将五个不同方面的报表整合到一个临时表中,然后从中提取所需数据。这体现了优秀系统需要结合出色的程序和数据库设计。
摘要由CSDN通过智能技术生成

IT也有一段时间了,刚开始的时候``````

的困难主要是在编程语言上,数组,逻辑,算法,...

这些都过来了之后,困难就上升到数据库设计上了.

以及数据逻辑.

一个优秀的系统,会集成优秀的程序和优秀的数据库设计.

要做到这点得有足够的经验.

这是我写的一个结合UINON的嵌套查询.

将五个方面的报表放到一个临时表里,再从临时表里,将所要的数据查询出来.

$sql="SELECT type , sum( yjsl ) as yjsl , sum( yysl ) as yysl, sum( jyrs ) as jyrs, sum( jycs ) as jycs

FROM (

SELECT c.mc AS

TYPE , count( d.lsh ) AS yjsl, 0 AS yysl, 0 AS jyrs, 0 AS jycs

FROM sys_dzxxb AS b, sys_jcb AS c, sys_dzyjb AS d

WHERE b.bm = c.lsh

AND d.dzlsh = b.lsh

GROUP BY c.mc

UNION SELECT c.mc AS

TYPE , 0 AS yjsl, count( e.lsh ) AS yysl, 0 AS jyrs, 0 AS jycs

FROM sys_dzxxb AS b, sys_jcb AS c, sys_dzyy AS e

WHERE b.bm = c.lsh

AND e.dzlsh = b.lsh

GROUP BY c.mc

UNION SELECT c.mc AS

TYPE , 0 AS yjsl, 0 AS yysl, count( DISTINCT e.dzlsh ) AS jyrs, 0 AS jycs

FROM sys_dzxxb AS b, sys_jcb AS c, sys_ltxxb AS e

WHERE b.bm = c.lsh

AND e.dzlsh = b.lsh

GROUP BY c.mc

UNION SELECT c.mc AS

TYPE , 0 AS yjsl, 0 AS yysl, 0 AS jyrs, count( DISTINCT e.lsh ) AS jycs

FROM sys_dzxxb AS b, sys_jcb AS c, sys_ltxxb AS e

WHERE b.bm = c.lsh

AND e.dzlsh = b.lsh

GROUP BY c.mc

) AS temptable

GROUP BY TYPE ";

分享给大家.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值