有这样一条sql语句
    select a.ID as 记录ID,
       a.ORDERID as 订单号,
       a.PAYMONEY as 订单金额,
       to_char(a.BOOKINGDATE,'yyyy-mm-dd') as 订单日期,
       a.PAYMODE as 支付方式,
       a.TICKETMETHOD as 出票方式,
       a.PAYSTATUS as 支付状态,
       a.TICKETISSUESTATUS as 出票状态,
       a.SYS_LASTMODIFIER as 操作员,
       from  a, b
       where a.ID=b.TICKETBOOK_ID and b.ISDELETED=0 and a.ISDELETED=0 and a.TICKETRETURNSIGN='N' and    a.PAYSTATUS='Y' order by a.SYS_CREATEDATETIME desc     两个表的对应关系是:a 的ID在b表中对应多条,现在这条sql语句查询的结果有重复记录
我怎样写才是不重复的记录?

解决方案 »

  1.   

    select distinct 
     a.ID as 记录ID, 
          a.ORDERID as 订单号, 
          a.PAYMONEY as 订单金额, 
          to_char(a.BOOKINGDATE,'yyyy-mm-dd') as 订单日期, 
          a.PAYMODE as 支付方式, 
          a.TICKETMETHOD as 出票方式, 
          a.PAYSTATUS as 支付状态, 
          a.TICKETISSUESTATUS as 出票状态, 
          a.SYS_LASTMODIFIER as 操作员, 
          from  a, b 
          where a.ID=b.TICKETBOOK_ID and b.ISDELETED=0 and a.ISDELETED=0 and a.TICKETRETURNSIGN='N' and    a.PAYSTATUS='Y' order by a.SYS_CREATEDATETIME desc  
      

  2.   

    我这不行呀,加distinct 报错 '不是selected 表达式',我用的是oracle 9i
      

  3.   

    在where条件后加上rownum=1,对做join重复的数据都取第一条