Sql 通过聚合连接多个表以查看
下面的查询返回每个src\u sys\u id对应的最大时间戳记录 选择不同的s1.src\u sys\u id, s1.执行董事, s3.cd_id, s4.适用于纳米级, s1.st\u mgmnt\u cd!=清除然后“进行中”或“符合要求”结束为状态 从dlrm_数据_retention.ret_st_aud s1 内连接 选择src\u sys\u id,maxexecn\u ts作为maxtime 从dlrm_data_retention.ret_st_aud 按src\u sys\u id分组 s2在s2.src_sys_id=s1.src_sys_id和s1.execn_ts=s2.maxtime上 如何将此查询与其他表联接,以获得与此src\u sys\u id相对应的更多列 表3-这一个有src_sys_id和cd_id 表4-这有cd_id和src_名称 我还需要将cd_id和src_name列作为select语句的一部分 我试过下面的方法。它不会返回任何结果 选择不同的s1.src\u sys\u id, s1.执行董事, s1.st\u mgmnt\u cd!=清除然后“进行中”或“符合要求”结束为状态 从dlrm_data_retention.ret_st_aud s1连接表3 s3连接表4 s4 在s1.src_sys_id=s3.src_sys_id和s3.cd_id=s4.cd_id上 内连接 选择src\u sys\u id,maxexecn\u ts作为maxtime 从dlrm_data_retention.ret_st_aud 按src\u sys\u id分组 s2在s2.src_sys_id=s1.src_sys_id和s1.execn_ts=s2.maxtime上运行,希望这有帮助Sql 通过聚合连接多个表以查看,sql,impala,Sql,Impala,下面的查询返回每个src\u sys\u id对应的最大时间戳记录 选择不同的s1.src\u sys\u id, s1.执行董事, s3.cd_id, s4.适用于纳米级, s1.st\u mgmnt\u cd!=清除然后“进行中”或“符合要求”结束为状态 从dlrm_数据_retention.ret_st_aud s1 内连接 选择src\u sys\u id,maxexecn\u ts作为maxtime 从dlrm_data_retention.ret_st_aud 按src\u sys\
select distinct s1.src_sys_id,
s1.execn_ts,
CASE WHEN s1.st_mgmnt_cd != "PURGE"
THEN 'In-Progress'
ELSE 'In-Compliance'
END as Status
from dlrm_data_retention.ret_st_aud As s1
JOIN table3 As s3 ON s3.src_sys_id = s1.src_sys_id
JOIN table4 As s4 ON s4.cd_id = s3.cd_id
inner join
(
SELECT src_sys_id, max(execn_ts) as maxtime
FROM dlrm_data_retention.ret_st_aud
GROUP BY src_sys_id
) As s2 on s2.src_sys_id = s1.src_sys_id and s1.execn_ts = s2.maxtime
谢谢Samuel。查询似乎没有运行。它没有显示任何错误消息。非常感谢Samuel!-查询运行了,但运行了将近一个小时。