Pervasive PSQL - 按客户选择最后两个订单

时间:2014-06-17 11:38:44

标签: pervasive

如何为每位客户选择最后两个订单?

查询:

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

1 个答案:

答案 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。