如何为每位客户选择最后两个订单?
查询:
select custcode, invcode, invvalue, invdata from INV INV1
where invdata = (select top 2 invdata from INV INV2 where INV1.id = INV2.id order by INV2.data DESC)
不起作用,不可能在子查询中订购。
我正在使用PSQL v11 x64 SP3
。
答案 0 :(得分:0)
您应该在查询中使用IN
而不是=
。例如,这对我有用:
从其中start_date的类中选择*(从中选择前2个start_date class start_date> ' 1995年6月5日&#39)
尝试:
从INV INV1中选择custcode,invcode,invvalue,invdata invdata in(从INV INV2中选择前2个invdata,其中INV1.id = INV2.id 由INV2.data DESC订购)
如果这不起作用,请编辑您的帖子以包含您看到的实际错误或行为。
根据documentation,只有Table子查询支持ORDER BY。