mysql和sql2008兼容group by中带函数的情况 max

love聊网络那点事http://weibo.com/u/3923942488
SELECT ISNULL(b.ALL_COUNT, 0) ALL_COUNT,ISNULL(a.YP_COUNT, 0) YP_COUNT,w.WBS_NAME NAME,w.NODE_CODE NODE_CODE ,s.SYSTEM_NAME , w.* 
	FROM T_PROJECT_WBS w 
		LEFT JOIN (
			SELECT AIRCREW_ID, SUBSTRING(MAX(i.WBS_CODE), 1, len(MAX(i.WBS_CODE))-  ?) PARENT_CODE, 
			CASE WHEN ISNULL(MIN(STATE),0)=4 
				THEN COUNT(DISTINCT WBS_ID) 
				ELSE 0 
				END YP_COUNT 
			FROM t_project_inspect_info i  
			WHERE i.AT_PAGE_NO=1 AND i.PROJECT_ID=?  AND i.SYSTEM_ID = ?   
			GROUP BY AIRCREW_ID, SUBSTRING(i.WBS_CODE, 1, len(i.WBS_CODE)-  ?)  ) a 
			ON w.NODE_CODE = a.PARENT_CODE AND w.AIRCREW_ID = a.AIRCREW_ID  
		LEFT JOIN (  
			SELECT AIRCREW_ID, SUBSTRING(MAX(t.NODE_CODE), 1, len(MAX(t.NODE_CODE))-  ?) PARENT_CODE, COUNT(1) ALL_COUNT 
			FROM T_PROJECT_WBS t  WHERE t.PROJECT_ID=?  AND t.SYSTEM_ID = ?  
			GROUP BY AIRCREW_ID, SUBSTRING(t.NODE_CODE, 1, len(t.NODE_CODE)-  ?)  ) b 
			ON w.NODE_CODE = b.PARENT_CODE AND w.AIRCREW_ID = b.AIRCREW_ID   
		LEFT JOIN (
			SELECT MAX(SYSTEM_NAME) FROM t_standard_system a 
			GROUP BY a.SYSTEM_ID) s 
			ON s.SYSTEM_ID = w.SYSTEM_ID   
		WHERE w.PROJECT_ID=?  AND w.SYSTEM_ID = ? AND len(w.NODE_CODE) = len(?)+? AND w.NODE_CODE LIKE ?  
		ORDER BY node_code;
		
不加max:mysql可以运行成功,sqlserver2008客户端可以运行成功,但是在程序中会报WBS_CODE不存在group by中的错误。
		
		
			
			
			
			


             love聊网络那点事http://weibo.com/u/3923942488
            
            
            
           


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值