记录两个实用的数据库函数

SELECT ROLL_PLAN_NO,NOM_ROLL_THICK,NOM_ROLL_WIDTH,NOM_SLAB_WIDTH,LG_ST,COUNT(*) AS NUM ,
SUM(CASE WHEN FILL_REASON=' ' THEN 1 ELSE 0 END) 正常计划, 
SUM(CASE WHEN FILL_REASON='1' THEN 1 ELSE 0 END) 无委,
SUM(CASE WHEN FILL_REASON='2' THEN 1 ELSE 0 END) 填充
FROM HPMOMMA00 WHERE ROLL_PLAN_NO='112076' GROUP BY ROLL_PLAN_NO,NOM_ROLL_THICK,NOM_ROLL_WIDTH,NOM_SLAB_WIDTH,LG_ST 
UNION ALL
SELECT ROLL_PLAN_NO,NOM_ROLL_THICK,NOM_ROLL_WIDTH,NOM_SLAB_WIDTH,LG_ST,COUNT(*) AS NUM,
SUM(CASE WHEN FILL_REASON=' ' THEN 1 ELSE 0 END) 正常计划, 
SUM(CASE WHEN FILL_REASON='1' THEN 1 ELSE 0 END) 无委,
SUM(CASE WHEN FILL_REASON='2' THEN 1 ELSE 0 END) 填充
FROM TPMOMMA00 WHERE ROLL_PLAN_NO='112076' GROUP BY ROLL_PLAN_NO,NOM_ROLL_THICK,NOM_ROLL_WIDTH,NOM_SLAB_WIDTH,LG_ST 
SELECT NVL(SUM(NOM_SLAB_WT),0) FROM TPMOMMA00 WHERE ORDER_NO='"+order_no+"' AND APP_STATUS<='64' AND FILL_REASON='2'

这个NVL函数是若查出来为NULL则为0,前面是case when 实用统计

posted @ 2021-07-29 15:38  gitee1412  阅读(58)  评论(0)    收藏  举报