如果用sql 语句得到的 数据有很多 都是完全一样的数据,,怎样合并这些数据啊就是相同的一条数据,就留下一条这样的sql 该怎么写啊

解决方案 »

  1.   

    select distinct * from tablename
      

  2.   

    僵哥,,,我现在想 合并的是 一条 一条的数据,,
    因为 我的sql 语句得到 很多 整条整条 相同的数据,,
      

  3.   

    还是贴点代码吧,描述有问题
    distinct  就是去掉重复记录的
      

  4.   

    select  A.rq as 日期,A.id as ID,A.t1 as 采购单号,A.xs as 货物销售总金额,A.zfsm as 支付方式说明,B.t2 as 货物销售金额,A.name as 产品名称,A.gg as 规格,A.dj as 产品单价,A.sl as 产品数量,A.jg as 采购价格
    from   
    (select O_code as t3,sum(taborder_clild.gongji) as t2 from taborder_clild group by taborder_clild.O_code ) as B
     join 
    (select Taborders.Id as id,Taborders.F1 as zfsm,Convert(varchar(10),Taborders.Dates,120) AS rq,tabproduct.pro_name as name ,taborder_clild.pro_price as dj,taborder_clild.guige as gg,taborder_clild.pro_number as sl,Taborders.OrderCode as t1,Prices AS xs,tabsend_child.pro_price as jg from tabproduct,taborder_clild,Taborders,tabsend_child where tabproduct.id=taborder_clild.pro_id and taborder_clild.O_code=Taborders.OrderCode and Taborders.OrderCode=tabsend_child.ordercode and Taborders.OrderCode=tabsend_child.ordercode and tabsend_child.pro_price>0 and (Dates BETWEEN '2008-7-27' AND '2008-7-27')) as A
     on  A.t1=B.t3 就是 合并得到的语句
    A.rq as 日期,A.id as ID,A.t1 as 采购单号,A.xs as 货物销售总金额,A.zfsm as 支付方式说明,B.t2 as 货物销售金额,A.name as 产品名称,A.gg as 规格,A.dj as 产品单价,A.sl as 产品数量,A.jg as 采购价格
    该怎么写啊
      

  5.   

    select distinct  A.rq as 日期,A.id as ID,A.t1 as 采购单号,A.xs as 货物销售总金额,A.zfsm as 支付方式说明,B.t2 as 货物销售金额,A.name as 产品名称,A.gg as 规格,A.dj as 产品单价,A.sl as 产品数量,A.jg as 采购价格 
    from  
    (select O_code as t3,sum(taborder_clild.gongji) as t2 from taborder_clild group by taborder_clild.O_code ) as B 
    join 
    (select Taborders.Id as id,Taborders.F1 as zfsm,Convert(varchar (10),Taborders.Dates,120) AS rq,tabproduct.pro_name as name ,taborder_clild.pro_price as dj,taborder_clild.guige as gg,taborder_clild.pro_number as sl,Taborders.OrderCode as t1,Prices AS xs,tabsend_child.pro_price as jg from tabproduct,taborder_clild,Taborders,tabsend_child where tabproduct.id=taborder_clild.pro_id and taborder_clild.O_code=Taborders.OrderCode and Taborders.OrderCode=tabsend_child.ordercode and Taborders.OrderCode=tabsend_child.ordercode and tabsend_child.pro_price>0 and (Dates BETWEEN '2008-7-27' AND '2008-7-27')) as A 
    on  A.t1=B.t3 放到这里试试,你的语句够夸张了的,那么长,搞个视图什么的简化一下也好
      

  6.   


    distinct就是 distinct
      

  7.   

    distinct
    这样的方法 还是不行出现这样的错误
    服务器: 消息 156,级别 15,状态 1,行 2
    Incorrect syntax near the keyword 'distinct'.
    服务器: 消息 156,级别 15,状态 1,行 5
    Incorrect syntax near the keyword 'as'.
    服务器: 消息 156,级别 15,状态 1,行 17
    Incorrect syntax near the keyword 'as'.
      

  8.   

    你没试试看?
    你所谓的合并应该就是 取唯一吧
    譬如
    table xx
    aa bb cc dd
    1   2  3  4
    1   2  3  4
    2   3  4  5用了select distinct * from xx
    后就是aa bb cc dd
    1   2  3  4
    2   3  4  5了
    重复记录就没了啊这个DISTINCT就能满足需求啊
      

  9.   

    你再加一层,呵呵,这个办法是傻了点select distinct * from (
    select  A.rq as 日期,A.id as ID,A.t1 as 采购单号,A.xs as 货物销售总金额,A.zfsm as 支付方式说明,B.t2 as 货物销售金额,A.name as 产品名称,A.gg as 规格,A.dj as 产品单价,A.sl as 产品数量,A.jg as 采购价格 
    from  
    (select O_code as t3,sum(taborder_clild.gongji) as t2 from taborder_clild group by taborder_clild.O_code ) as B 
    join 
    (select Taborders.Id as id,Taborders.F1 as zfsm,Convert(varchar (10),Taborders.Dates,120) AS rq,tabproduct.pro_name as name ,taborder_clild.pro_price as dj,taborder_clild.guige as gg,taborder_clild.pro_number as sl,Taborders.OrderCode as t1,Prices AS xs,tabsend_child.pro_price as jg from tabproduct,taborder_clild,Taborders,tabsend_child where tabproduct.id=taborder_clild.pro_id and taborder_clild.O_code=Taborders.OrderCode and Taborders.OrderCode=tabsend_child.ordercode and Taborders.OrderCode=tabsend_child.ordercode and tabsend_child.pro_price>0 and (Dates BETWEEN '2008-7-27' AND '2008-7-27')) as A 
    on  A.t1=B.t3 )
      

  10.   

    NicolasCage 你的代码 出现这样的错误,,最后的括号 附近 有错误Line 31: Incorrect syntax near ')'.
      

  11.   

    在你查詢的結果集后再加一個distinct去掉重復記錄。
      

  12.   

    记录多吗,实在不行,就写个程序,一条条比对吧。
    在SQL版好像很多关于去重复记录的贴子找一找