SELECT pro.UserName, cla.ClassName, cla2.ClassName, pro.ProductName, pro.ProInfo, pro.PhotoUrl, pro.Price, pro.Address, pro.ProModel, pro.AddDate FROM (KS_EnterprisePro as pro LEFT JOIN KS_EnterPriseClass as cla ON pro.BigClassID = cla.ID) LEFT JOIN KS_EnterPriseClass as cla2 ON pro.SmallClassID = cla2.ID ORDER BY pro.Price DESC 上面语句还能再优化下吗?
在 ORDER BY pro.Price DESC 前面我加上 where pro.UserName like '%%' 查不出任何信息。 怎么解决。

解决方案 »

  1.   

    like 不能用。
    pro.UserName='xxx' 这们可以
      

  2.   

    这已经是比较简单的语句了,不知道什么原因要优化在 ORDER BY pro.Price DESC 前面我加上 where pro.UserName like '%%' 查不出任何信息。 怎么解决。
    说明下你的两个表的关系,按道理where pro.UserName like '%%'相当于where pro.UserName is not null
      

  3.   

    你的UserName是什么数据类型?
      

  4.   

    你把pro.UserName='xxx' 能查到的xxx改成pro.UserName like '%xxx%',应该能查到的,注意%不要是全角的 
      

  5.   

    我有的是acc查询器:下面查询不出来
    至少有一条记录:pro.UserName字段数值:嘉达科技
    SELECT pro.UserName, cla.ClassName, cla2.ClassName, pro.ProductName, pro.ProInfo, pro.PhotoUrl, pro.Price, pro.Address, pro.ProModel, pro.AddDate FROM (KS_EnterprisePro as pro LEFT JOIN KS_EnterPriseClass as cla ON pro.BigClassID = cla.ID) LEFT JOIN KS_EnterPriseClass as cla2 ON pro.SmallClassID = cla2.ID where pro.UserName like '%嘉达科技%' ORDER BY pro.Price DESC
    下面可以查询出来
    SELECT pro.UserName, cla.ClassName, cla2.ClassName, pro.ProductName, pro.ProInfo, pro.PhotoUrl, pro.Price, pro.Address, pro.ProModel, pro.AddDate FROM (KS_EnterprisePro as pro LEFT JOIN KS_EnterPriseClass as cla ON pro.BigClassID = cla.ID) LEFT JOIN KS_EnterPriseClass as cla2 ON pro.SmallClassID = cla2.ID where pro.UserName='嘉达科技' ORDER BY pro.Price DESC 
      

  6.   

    不要用Where pro.UserName like '%%' 用And pro.UserName like '%%'