【发布时间】:2016-08-24 05:23:12
【问题描述】:
我有以下要求选择最新状态。
表 1:
表2:
预期结果:
下面是我们需要的逻辑。
SELECT
Table1.ID,
,CASE WHEN (Table1.hub=Table2.hub) THEN Table2.Status ELSE NULL END AS Original_Status
,CASE WHEN (Table1.hub<>Table2.hub AND Table2.Status like 'Found%' ) THEN Table2.hub ELSE NULL END AS Derived_Hub
,CASE WHEN (Table1.hub<>Table2.hub AND Table2.Status like 'Found%' ) THEN Table2.Status ELSE NULL END AS Derived_Status
from
Table1
Join Table2
ON (Table1.ID=Table2.ID)
使用此代码,我得到 3 行。如果我将 max 放在上述案例陈述中,我得到的是 Hub3 而不是 Hub2。
能否请您告诉我如何将所有内容合并到单行中。请注意,即使有 2 个集线器处于已找到状态,我也想显示表 2 中最新找到的状态。
如果您需要任何进一步的信息,请告诉我。
【问题讨论】:
-
您的 Teradata 版本是什么?
-
版本为 14.10.07.05
标签: teradata