我正在尝试根据某种类型的声明检索名称。看起来很容易,但它并不适合我。我正在使用2个主表claim
和exposure
以及contactname
表。每个claim
可以有多个exposures
,但每个exposure
只能有一个claim
。两个表都包含nameID
字段 - claim.nameID
和exposure.nameID
。 nameID
与ContactName
表相关联。
Contact Name
ID Name
111 Jim
222 Bob
333 John
444 Sam
555 Walt
通常情况下,每个claim
可以有多个exposures
,而exposures
上的claim
可以具有相同的名称或不同的名称。名称ids
位于exposure
。
The exposure.nameID joins ContactName.ID
Claim claim.nameID ExposureNo exposure.nameID Name
A null 1 111 Jim
A null 2 222 Bob
A null 3 333 John
B null 1 444 Sam
B null 2 444 Sam
工人赔偿索赔是不同的。每个工人赔偿要求可以有多次曝光,但所有曝光都具有相同的名称。由于索赔上的曝光具有相同的名称,因此找到名称ID,而不是在曝光表上,而是在索赔表中找到。 Go figure ... claim.nameID加入ContactName.ID AS ClaimContactName。
Claim claim.nameID ExposureNo exposure.nameID Name
C 111 1 null Jim
C 111 2 null Jim
C 111 3 null Jim
D 555 1 null Walt
D 555 2 null Walt
我可以获取非工作人员claims
的名称,并可以获取workers comp claims
的名称。但是,当我将2个查询放在一起时,我没有得到任何结果。
Select
CASE WHEN @Select(Claim\Policy Type) = 'Workers'' Compensation' THEN
CASE WHEN ClaimContact.Name IS NULL AND ClaimContact.Name.FirstName IS NULL THEN ClaimContact.LastName
WHEN ClaimContact.Name IS NOT NULL THEN ClaimContact.Name
ELSE ClaimContact.FirstName + Space(1) + ClaimContact.LastName END
ELSE
CASE WHEN Contact.Name IS NULL AND Contact.FirstName IS NULL THEN Contact.LastName
WHEN Contact.Name IS NOT NULL THEN Contact.Name
ELSE Contact.FirstName + Space(1) + Contact.LastName END
END
没有做太多这样的事情,但可以真正使用帮助解决这个问题。先感谢您。
答案 0 :(得分:0)
这是针对使用信息设计工具的SAP Universe。我最终创建了一个派生表,该表完全满足了我的需求,包括一路学习新知识。