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 ";
分享給大家.
您可能感興趣的文章:- mysql嵌套查詢和聯表查詢優化方法
- 單個select語句實現MySQL查詢統計次數
- sql查詢出各科成績最好的學生信息
- mysql查詢昨天 一周前 一月前 一年前的數據
- mysql查詢今天、昨天、近7天、近30天、本月、上一月的SQL語句
- MySql查詢時間段的方法
- php+mysql查詢優化簡單實例
- MySQL查詢和修改auto_increment的方法
- 一個優化MySQL查詢操作的具體案例分析
- MySQL查詢倒數第二條記錄實現方法
- 50條SQL查詢技巧、查詢語句示例
- SQL查詢出表、存儲過程、觸發器的創建時間和最后修改時間示例
- 大幅優化MySQL查詢性能的奇技淫巧
- 如何使用MySQL查詢某個列中相同值的數量統計
- 數據庫表的查詢操作(實驗二)