SELECT ISNULL(u_factory_profitrate.deptid,v_temp.deptid) AS deptid
,ISNULL(u_factory_profitrate.bednet_or_mattress,@kind) AS bednet_or_mattress
,ISNULL(u_factory_profitrate.bednettypeid_mattresstypeid,v_temp.bednettypeid) AS bednettypeid_mattresstypeid
,ISNULL(u_factory_profitrate.profitrate, 0) AS profitrate
,u_factory_profitrate.createtime
,u_factory_profitrate.createby
,v_temp.deptname
,v_temp.typename
FROM u_factory_profitrate
RIGHT OUTER JOIN (
SELECT u_dept.deptid
,u_bednet_type.bednettypeid
,u_dept.deptname
,u_bednet_type.typename
FROM u_dept CROSS JOIN u_bednet_type
) v_temp ON u_factory_profitrate.deptid = v_temp.deptid
AND u_factory_profitrate.bednettypeid_mattresstypeid = v_temp.bednettypeid
ISNULL(u_factory_profitrate.bednet_or_mattress,@kind) = @kind
u_factory_profitrate.deptid = @arg_deptid
u_factory_profitrate.bednettypeid_mattresstypeid = @arg_bednettypeid_mattresstypeid