我现在有这个问题

SELECT
  OC.*,
  NEW.LAST_JOB_RUN_DATE
FROM dbo.CUBES OC
CROSS APPLY (SELECT
  MAX(LAST_END_RUN_DATE) AS LAST_JOB_RUN_DATE
FROM dbo.JOBS OJ
WHERE OJ.CUBE_ID = OC.ID) NEW

每个CUBE可以有多个JOBS。我希望此查询返回所有多维数据集以及上次运行最新作业的时间。这很管用。现在我还想添加该作业的STATUS,但是我似乎无法使查询正常工作。上面的查询可以工作,但不会返回与之相关联的状态,这正是我想要的。是否有方法更改上述查询以同时返回包含STATUS的作业的MAX(LAST_END_RUN_DATE)

最佳答案

SELECT
  OC.*,
  NEW.LAST_JOB_RUN_DATE,
  NEW.STATUS
FROM dbo.CUBES OC
OUTER APPLY (SELECT TOP (1) OJ.LAST_END_RUN_DATE AS LAST_JOB_RUN_DATE, OJ.STATUS
FROM dbo.JOBS OJ
WHERE OJ.CUBE_ID = OC.ID
ORDER BY OJ.LAST_END_RUN_DATE DESC ) NEW

关于mysql - 从最大选择属性中交叉应用SQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41491125/

10-12 15:20