首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

重复数据 如何只取一条.

2013-07-16 
重复数据 怎么只取一条..本帖最后由 oTests 于 2013-07-10 12:29:51 编辑SELECTpppp.pztait AS 付款方式,

重复数据 怎么只取一条..
本帖最后由 oTests 于 2013-07-10 12:29:51 编辑


SELECT      pppp.pztait AS 付款方式, Order_detail.Gds_Name AS 商品名称, 
                 Order_detail.Member_Account AS 用户名, Order_detail.Total_Money AS 总金额, 
                 Order_detail.Discount, [Order].Goods_Pay AS 物流处理费,
                [Order].Total_Money AS 付款金额, [Order].Receive_Name AS 姓名, 
                [Order].Receive_Addr AS 地址, [Order].Receive_Tel AS 电话,
                [Order].Deliver_Date AS 订购时间, [Order].No
FROM         pppp INNER JOIN
                [Order] ON pppp.id = [Order].Pay_Method INNER JOIN
             Order_detail ON [Order].No = Order_detail.Order_No
                      


其中 Order_No 有重复

Order_No  Gds_Name
123           产品1c
654           产品2
123           产品3aaa
123           产品5aaa

希望最终结果 只取Order_No 重复数据其中一条 可随机.
结果为
654           产品2
123           产品3aaa


[解决办法]


SELECT     pppp.pztait AS 付款方式, Order_detail.Gds_Name AS 商品名称, Order_detail.Member_Account AS 用户名, Order_detail.Total_Money AS 总金额,                        Order_detail.Discount, [Order].Goods_Pay AS 物流处理费, [Order].Total_Money AS 付款金额, [Order].Receive_Name AS 姓名,                        [Order].Receive_Addr AS 地址, [Order].Receive_Tel AS 电话, [Order].Deliver_Date AS 订购时间, [Order].NoFROM         pppp INNER JOIN                      [Order] ON pppp.id = [Order].Pay_Method INNER JOIN                      (select * from Order_detail where id in (select max(Order_detail.id) from Order_detail group by order_no)


) Order_detail ON [Order].No = Order_detail.Order_No 


[解决办法]
SELECT      pppp.pztait AS 付款方式, Order_detail.Gds_Name AS 商品名称, 
                 Order_detail.Member_Account AS 用户名, Order_detail.Total_Money AS 总金额, 
                 Order_detail.Discount, [Order].Goods_Pay AS 物流处理费,
                [Order].Total_Money AS 付款金额, [Order].Receive_Name AS 姓名, 
                [Order].Receive_Addr AS 地址, [Order].Receive_Tel AS 电话,
                [Order].Deliver_Date AS 订购时间, [Order].No
FROM  pppp 
INNER JOIN [Order] ON pppp.id = [Order].Pay_Method 
INNER JOIN Order_detail ON [Order].No = Order_detail.Order_No
INNER JOIN (select Order_no,MIN(Gds_Name) as Gds_Name from [Order] GROUP by  Order_no)T 
ON [Order].Order_No = T.Order_No and [Order].Gds_Name=T.Gds_Name
  

热点排行