重复数据 怎么只取一条..
本帖最后由 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