我有一个有三列的表,它列出了一个带有内部连接的Select的结果:
SELECT createTimestamp, paymentDate, buyDate
FROM ARC_PAYMENTS
INNER JOIN PERSON_IN_PAYMENT ON ARC_PAYMENTS.PERSON_ID=PERSON_IN_PAYAMENT.ID
WHERE PERSON_IN_PAYMENT.COMPANY_ID='1234567';
现在,我需要获得所有行的三列中最新/最年轻/最高的值。所以结果应该只有一个Date。这可能会有问题,因为createTimestamp列是时间戳,其他两列是日期。
在oracle数据库中是否有办法做到这一点(性能非常重要)?在另一个选择中使用我的第一个SELECT的结果?
谢谢
查看GREATEST
功能
SELECT GREATEST(CAST(createTimestamp AS DATE), paymentDate, buyDate)
FROM ARC_PAYMENTS
INNER JOIN PERSON_IN_PAYMENT ON ARC_PAYMENTS.PERSON_ID=PERSON_IN_PAYAMENT.ID
WHERE PERSON_IN_PAYMENT.COMPANY_ID='1234567';