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 + ")");
}