斗鱼不雅视频

当前位置:美女AV > 数据库 > SQLServer > 正文  |  快速导航:SQLServer MySQL Oracle Access DB2 Sybase PowerBuilder MongoDB Informix PostgreSQL 其它数据库 基础原理
  • 如果指定了SELECT DISTINCT 那么ORDER BY子句中的项就必须出现在选择列表中

  • 字号:[ ]2012-6-11 18:36:40  阅读:3716次  来源:乐猪网  编辑:银河精灵  收藏
  • 摘要:如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。说明: 执行当前 Web 请求期间,出现未处理的异常。
  • 如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Exception: 如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。

    错误:
    QueryParam qp = new QueryParam();
    StringBuilder sb = new StringBuilder();
    sb.AppendLine("select distinct a.Com_ID,a.Com_LogoUrl,a.Com_Name,a.Com_Tel,a.Com_Address,a.Pro_Receipts,a.Com_YGRS,a.Com_UseArea, ");
    sb.AppendLine("Com_IsCetifYezz,Com_IsCetifYzz,Com_IsCetifWghcd,Com_IsCetifghcp,Com_IsCetifCk,Com_IsCetifZm,");
    sb.AppendLine("Com_IsCetifHaccp,Com_IsCetifIso,Com_IsCetifGreen,Com_ShowOrder,a.Com_AreaCode,Com_AuditorStatus_Dic ");
    sb.AppendLine("From Wat_ComInfo a");
    sb.AppendLine("Left Join sys_FieldValue s1 on s1.V_Code = a.Com_QYXZ_Dic and s1.V_F_Key = 'ComQYXZKey' --企业性质");
    sb.AppendLine("Left Join sys_FieldValue s2 on s2.V_Code = substring(a.Com_AreaCode, 1, 4) + '00' and s2.V_F_Key = 'ProvinceCityZoneKey' --地市");
    sb.AppendLine("Left Join Wat_ProComRelation d on d.Com_ID = a.Com_ID --产品与企业关系表");
    sb.AppendLine("left join Wat_ProductInfo e on e.Pro_ID=d.Pro_ID");
    if (SearchTerms.Contains("and b.Far_Coord='无'"))
    {
        SearchTerms = SearchTerms.Replace("and b.Far_Coord='无'", "and a.com_id not in(select guid from [GDSC_GIS].[dbo].[养殖企业])");
    }
    if (SearchTerms.Contains("and b.Far_Coord='有'"))
    {
        SearchTerms = SearchTerms.Replace("and b.Far_Coord='有'", "and a.com_id in(select guid from [GDSC_GIS].[dbo].[养殖企业])");
    }
    sb.AppendLine("left join Wat_FarmCertificate b on b.Com_ID=a.Com_ID --养殖证表");
    sb.AppendLine(SearchTerms);
    sb.AppendLine("and Com_NewOldStatus_Dic='1' and Com_AuditorStatus_Dic='1' ");
    sb.AppendLine("order by Convert(float, a.Com_UseArea) desc");

    正确:
    QueryParam qp = new QueryParam();
    StringBuilder sb = new StringBuilder();
    sb.AppendLine("select * from");
    sb.AppendLine("(");
    sb.AppendLine("select distinct a.Com_ID,a.Com_LogoUrl,a.Com_Name,a.Com_Tel,a.Com_Address,a.Pro_Receipts,a.Com_YGRS,a.Com_UseArea, ");
    sb.AppendLine("Com_IsCetifYezz,Com_IsCetifYzz,Com_IsCetifWghcd,Com_IsCetifghcp,Com_IsCetifCk,Com_IsCetifZm,");
    sb.AppendLine("Com_IsCetifHaccp,Com_IsCetifIso,Com_IsCetifGreen,Com_ShowOrder,a.Com_AreaCode,Com_AuditorStatus_Dic ");
    sb.AppendLine("From Wat_ComInfo a");
    sb.AppendLine("Left Join sys_FieldValue s1 on s1.V_Code = a.Com_QYXZ_Dic and s1.V_F_Key = 'ComQYXZKey' --企业性质");
    sb.AppendLine("Left Join sys_FieldValue s2 on s2.V_Code = substring(a.Com_AreaCode, 1, 4) + '00' and s2.V_F_Key = 'ProvinceCityZoneKey' --地市");
    sb.AppendLine("Left Join Wat_ProComRelation d on d.Com_ID = a.Com_ID --产品与企业关系表");
    sb.AppendLine("left join Wat_ProductInfo e on e.Pro_ID=d.Pro_ID");
    if (SearchTerms.Contains("and b.Far_Coord='无'"))
    {
        SearchTerms = SearchTerms.Replace("and b.Far_Coord='无'", "and a.com_id not in(select guid from [GDSC_GIS].[dbo].[养殖企业])");
    }
    if (SearchTerms.Contains("and b.Far_Coord='有'"))
    {
        SearchTerms = SearchTerms.Replace("and b.Far_Coord='有'", "and a.com_id in(select guid from [GDSC_GIS].[dbo].[养殖企业])");
    }
    sb.AppendLine("left join Wat_FarmCertificate b on b.Com_ID=a.Com_ID --养殖证表");
    sb.AppendLine(SearchTerms);
    sb.AppendLine("and Com_NewOldStatus_Dic='1' and Com_AuditorStatus_Dic='1' ");
    sb.AppendLine(") t");
    sb.AppendLine("order by Convert(float, Com_UseArea) desc");

    其实可以把distinct去掉,换成group by进行分组,效果也一样,但是需要把所有要查询的字段放到group by里。

  • 顶一下
    (0)
    0%
    踩一下
    (0)
    0%
乐猪网 版权所有 Copyright © 2012-2015 msyh801.cn All rights reserved.
本站用于学习交流,部分文章来源于网络,如果不慎侵犯了您的权益,请AV视频 我们删除!
粤ICP备12000837号

斗鱼不雅视频