让人发狂的sql语句!

StringBuilder Asql = new StringBuilder();
            Asql.Append(" select '' as '序号', T_Station.档案号,T_Station.StationName as '台站名' , ");
            Asql.Append("  区站号.区站号 ,  ");
            Asql.Append(" 台站级别.台站级别 , ");
            Asql.Append(" 所属机构.所属机构 ,  ");
            Asql.Append(" 台站位置.台站位置 , ");
            Asql.Append(" 台站周围障碍物.台站周围障碍物 ,  ");
            Asql.Append("  观测要素.观测要素 ,  ");
            Asql.Append(" 观测仪器.观测仪器 , ");
            Asql.Append(" 观测时制.观测时制 , ");
            Asql.Append(" 观测时间.观测时间 , ");
            Asql.Append(" 守班情况.守班情况 , ");
            Asql.Append(" 其他变动事项.其他变动事项 ,  ");
            Asql.Append(" 观测记录.观测记录 ,  ");
            Asql.Append(" 观测规范.观测规范 ,  ");
            Asql.Append(" 采样方式.采样方式 ,  ");
            Asql.Append(" 沿革数据来源.沿革数据来源 ,  ");
            Asql.Append("  编报人员.编报人员 ");
            Asql.Append(" from T_Station, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Station_Name.Station_ID)  as '台站名称' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append(" from T_Station left join (select * from T_Station_Name where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Station_Name ");
            }
            Asql.Append(" on T_Station.档案号=T_Station_Name.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 台站名称, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Station_Code.Station_ID)  as '区站号' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append("  from T_Station left join (select * from T_Station_Code where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Station_Code ");
            }
            Asql.Append(" on T_Station.档案号=T_Station_Code.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 区站号 , ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Station_Level.Station_ID)  as '台站级别' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append("  from T_Station left join (select * from T_Station_Level where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Station_Level ");
            }
            Asql.Append("on T_Station.档案号=T_Station_Level.Station_ID  ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 台站级别 , ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Station_Media_Organization.Station_ID)  as '所属机构' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append(" from T_Station left join (select * from T_Station_Media_Organization where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Station_Media_Organization ");
            }
            Asql.Append(" on T_Station.档案号=T_Station_Media_Organization.Station_ID ");
            Asql.Append("  Group by T_Station.档案号 ");
            Asql.Append(" )as 所属机构, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Station_Place.Station_ID)  as '台站位置' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append(" from T_Station left join (select * from T_Station_Place where   SDateTime>" + PsTime + " and EDateTime<" + PeTime + " ) as T_Station_Place ");
            }
            Asql.Append("  on T_Station.档案号=T_Station_Place.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 台站位置, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Station_Remora.Station_ID)  as '台站周围障碍物' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append("     from T_Station left join (select * from T_Station_Remora where   SDateTime>" + PsTime + " and SDateTime<" + PeTime + " ) as T_Station_Remora ");
            }
            Asql.Append(" on T_Station.档案号=T_Station_Remora.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 台站周围障碍物, ");
            Asql.Append(" ( ");
            Asql.Append("  select T_Station.档案号 as '档案号' ,count (T_Observation_Element.Station_ID)  as '观测要素' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append(" from T_Station left join (select * from T_Observation_Element where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Observation_Element ");
            }
            Asql.Append(" on T_Station.档案号=T_Observation_Element.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 观测要素, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Observation_Instrument.Station_ID)  as '观测仪器' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append("    from T_Station left join (select * from T_Observation_Instrument where   SDateTime>19581101 and SDateTime<19620511 ) as T_Observation_Instrument ");
            }
            Asql.Append(" on T_Station.档案号=T_Observation_Instrument.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 观测仪器, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Observation_Date.Station_ID)  as '观测时制' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append("  from T_Station left join (select * from T_Observation_Date where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Observation_Date ");
            }
            Asql.Append("  on T_Station.档案号=T_Observation_Date.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 观测时制, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Observation_Time.Station_ID)  as '观测时间' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append(" from T_Station left join (select * from T_Observation_Time where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Observation_Time ");
            }
            Asql.Append(" on T_Station.档案号=T_Observation_Time.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 观测时间, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_OnDuty.Station_ID)  as '守班情况' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append(" from T_Station left join (select * from T_OnDuty where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_OnDuty ");
            }
            Asql.Append("  on T_Station.档案号=T_OnDuty.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 守班情况, ");
            Asql.Append(" ( ");
            Asql.Append("  select T_Station.档案号 as '档案号' ,count (T_OtherThing.Station_ID)  as '其他变动事项' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append(" from T_Station left join (select * from T_OtherThing where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_OtherThing ");
            }
            Asql.Append(" on T_Station.档案号=T_OtherThing.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 其他变动事项, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Accelerated_Filer.Station_ID)  as '观测记录' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append(" from T_Station left join (select * from T_Accelerated_Filer where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Accelerated_Filer ");
            }
            Asql.Append(" on T_Station.档案号=T_Accelerated_Filer.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 观测记录, ");
            Asql.Append(" ( ");
            Asql.Append("  select T_Station.档案号 as '档案号' ,count (T_Observational_Criterion.Station_ID)  as '观测规范' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append(" from T_Station left join (select * from T_Observational_Criterion where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Observational_Criterion ");
            }
            Asql.Append(" on T_Station.档案号=T_Observational_Criterion.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 观测规范, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Types_of_acquisition.Station_ID)  as '采样方式' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append("      from T_Station left join (select * from T_Types_of_acquisition where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Types_of_acquisition ");
            }
            Asql.Append("  on T_Station.档案号=T_Types_of_acquisition.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 采样方式, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_DataFrom.Station_ID)  as '沿革数据来源' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append(" from T_Station left join (select * from T_DataFrom where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_DataFrom ");
            }
            Asql.Append(" on T_Station.档案号=T_DataFrom.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 沿革数据来源, ");
            Asql.Append(" ( ");
            Asql.Append(" select T_Station.档案号 as '档案号' ,count (T_Accelerated_Filer.Station_ID)  as '编报人员' ");
            if (PsTime != "" && PeTime != "")
            {
                Asql.Append("  from T_Station left join (select * from T_Accelerated_Filer where   SDateTime>" + PsTime + " and EdateTime<" + PeTime + " ) as T_Accelerated_Filer ");
            }
            Asql.Append("  on T_Station.档案号=T_Accelerated_Filer.Station_ID ");
            Asql.Append(" Group by T_Station.档案号 ");
            Asql.Append(" ) as 编报人员 ");
            Asql.Append(" where T_Station.档案号=台站名称.档案号 and  ");
            Asql.Append(" T_Station.档案号=区站号.档案号 and   ");
            Asql.Append(" T_Station.档案号=台站级别.档案号 and ");
            Asql.Append(" T_Station.档案号=所属机构.档案号 and ");
            Asql.Append(" T_Station.档案号=台站位置.档案号 and ");
            Asql.Append(" T_Station.档案号=台站周围障碍物.档案号 and  ");
            Asql.Append(" T_Station.档案号=观测要素.档案号 and  ");
            Asql.Append(" T_Station.档案号=观测仪器.档案号 and ");
            Asql.Append(" T_Station.档案号=观测时制.档案号 and ");
            Asql.Append(" T_Station.档案号=观测时间.档案号 and ");
            Asql.Append(" T_Station.档案号=守班情况.档案号 and ");
            Asql.Append(" T_Station.档案号=其他变动事项.档案号 and  ");
            Asql.Append(" T_Station.档案号=观测记录.档案号 and  ");
            Asql.Append(" T_Station.档案号=观测规范.档案号 and  ");
            Asql.Append(" T_Station.档案号=采样方式.档案号 and  ");
            Asql.Append(" T_Station.档案号=沿革数据来源.档案号 and  ");
            Asql.Append(" T_Station.档案号=编报人员.档案号 ");
            if (PDAN != null && PDAN != "")
            {
                Asql.Append(" and T_Station.档案号 in(" + PDAN + ")");
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值