我遇到了一个DB2数据库查询问题。(LST_UPDT_TS)。我们需要根据这个时间戳对表进行排序,使用在三个表中的任何一个中找到的最新时间戳。据我所知,推荐的方法是使用“VALUES”构建一个小型内部表,并选择最新的时间戳,将其作为合并后的记录的时间戳。
SELECT
a.CUST_ID as CUSTOMER_ID,
(
SELECT MAX(LST_UPDT_TS)
FROM ( VALUES(
(a.LST_UPDT_TS),
(b.LST_UPDT_TS),
(c.LST_UPDT_TS)
) as VALUE(LST_UPDT_TS)
)
) as LST_UPDT_TS
FROM TableA as a
JOIN TableB as b ON b.CUST_ID = a.CUST_ID
JOIN TableC as c ON c.CUST_ID = a.CUST_ID
从我在StackOverflow上找到的其他解决方案中可以看出,这是使用SELECT和VALUES命令的正确格式,但我得到的不是单个最大值,而是...
SQL 0104 N在“(”之后发现意外的标记“(“。预期的标记可能包括:“.联接内部左右全交叉”. SQLSTATE=42601(#-104)
任何帮助都将不胜感激。
谢谢你,谢谢你
1条答案
按热度按时间l0oc07j21#
也许像这样的东西?