重复数据 怎么只取一条..

oTests 2013-07-10 12:27:09

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

...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bichir 2013-07-10
  • 打赏
  • 举报
回复


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 

lzw_0736 2013-07-10
  • 打赏
  • 举报
回复
with a1 (Order_No,Gds_Name) as ( select 123,'产品1c' union all select 654,'产品2' union all select 123,'产品3aaa' union all select 123,'产品5aaa' ) ,a2 as ( select *,row_number() over(partition by Order_No order by Gds_Name) re from a1 ) select Order_No,Gds_Name from a2 where re=1
Andy__Huang 2013-07-10
  • 打赏
  • 举报
回复
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

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧