【发布时间】:2016-05-18 14:05:41
【问题描述】:
我总共有 3 张桌子。一个表称为CONTACTINFO,CNTCT_ID 作为主索引。
第二个表是 CONTACTMAP,它将客户 (CUSTNUM) 链接到所有联系信息(详细信息,例如姓名、职位、电话号码等)。
最终表格是一个完整的客户列表,其中一列包含我们所有客户的循环列表。
我下面的代码拉回了custnum 84574 的最新条目。但我需要它拉回完整客户列表custlist 中所有custnum 的结果。
select
A. CUST_TYPE
,A.CINSERT_DT
,A.CNTCT_ID
from CONTACTINFO a
JOIN CONTACTMAP B
ON A.CNTCT_ID = B.CNTCT_ID
where b. CUSTNUM in (‘84574’)
and A. CUST_TYPE in (‘PAYER’)
qualify rank() over (partition by a. CUST_TYPE order by A. CINSERT_DT desc) = 1
这是我的桌子
CONTACTINFO TABLE
CNTCT_ID CUST_TYPE
1 PAYER
2 OWNER
3 BUYER
CONTACTMAP Table
CNTCT_ID CUSTNUM
1 84574
2 99457
3 54187
TABLE3
CUSTNUM
84574
99457
54187
【问题讨论】:
-
我不明白。您能否展示表 #3,尤其是包含我们所有客户的循环列表的一列?
-
用table3更新,@dnoeth
-
只需在
CUSTNUM上加入#3 并将PARTITION BY更改为CUSTNUM而不是CUST_TYPE(或者如果您希望每种类型有一行,请同时使用两者) -
@dnoeth 这正是我所需要的。感谢您的帮助。如果您想将此添加为答案而不是评论,我很乐意接受。再次感谢!
标签: sql teradata window-functions