select * from (
SELECT  distinct n.*,b.pkid  FROM goods n,Brands b WHERE   CONTAINS(n.*, @str1) or (n.BrandId=b.PKId and   CONTAINS(b.name, @str1)) ) tem  ORDER BY CASE WHEN CONTAINS(*, @str1) THEN 1 WHEN (BrandId=PKId and   CONTAINS(name, @str1)) THEN 2 ELSE 3 END

解决方案 »

  1.   

    Select * from (
    SELECT  distinct n.*  FROM goods n,Brands b WHERE   CONTAINS(n.*, @str1) or (n.BrandId=b.PKId and   CONTAINS(b.name, @str1))  
    ) temp
    ORDER BY CASE WHEN CONTAINS(n.*, @str1) THEN 1 WHEN (n.BrandId=b.PKId and   CONTAINS(b.name, @str1)) THEN 2 ELSE 3 END
      

  2.   

    下面这句但愿对你有帮助select max(newsid) as dd ,Nauthor from article group by Nauthor order by 1
      

  3.   

    pengdali(大力 V2.0) ,那样的话还需要给tem建立全文索引的啊,不是更麻烦了啊!sql是这样提示的。
      

  4.   

    TRY:SELECT  distinct n.*, CASE WHEN CONTAINS(n.*, @str1) THEN 1 WHEN (n.BrandId=b.PKId and   CONTAINS(b.name, @str1)) THEN 2 ELSE 3 END
     as OrderByCol FROM goods n,Brands b WHERE   CONTAINS(n.*, @str1) or (n.BrandId=b.PKId and   CONTAINS(b.name, @str1))  ORDER BY OrderByCol