在Yellowfin想要返回一個值,我有3個表稱爲 成員資格, membershipPlans, membershipUDP。CASE問題,或者它是如何我已經加入我的表
會員是最主要的一個與外連接到其他兩個(鏈接可能會或可能不存在)
所以如果MemberPlans.PrevFundID有我想要的條目, 否則,如果他們加入小於3個月之前我想MembershipUDPs.Property 否則我想要一個文本短語。
目前我得到2行每memberships.MemberNo,一個顯示PRevFundID和另一個顯示MembershipsUDPs,我只想一排: 顯示的SQL是通過黃鰭
產生SELECT DISTINCT
"Memberships"."MemberNo",
CASE
WHEN PrevFundID IS NOT NULL THEN PrevFundID
ELSE
CASE
WHEN JOINDATE >= DATEADD(mm, -3, GETDATE()) THEN Property
ELSE 'New to PHI'
END
END,
"MembershipPlans"."PrevFundID",
"MembershipUDPs"."Property"
FROM "dbo"."Memberships"
LEFT OUTER JOIN "dbo"."MembershipPlans"
ON ("Memberships"."MemberNo" = "MembershipPlans"."MemberNo")
LEFT OUTER JOIN "dbo"."MembershipUDPs"
ON ("Memberships"."MemberNo" = "MembershipUDPs"."MemberNo")
AND ("MembershipUDPs"."PropertyID" = N'TF')
WHERE ("Memberships"."IsProspect" = N'N')
AND ("Memberships"."JoinDate" BETWEEN '20140701 00:00:00.0' AND
'20150630 23:59:59.997'
AND ("Memberships"."PaidToDate" >= "Memberships"."JoinDate"
OR "Memberships"."TermDate" IS NULL)
)
我編輯在此之後收到關於完整代碼的評論
除非您顯示完整查詢,否則很難回答。 –
這種情況表達式只能返回一個值,所以如果你得到多行,那麼其他的東西就是原因。請顯示整個查詢。 – jpw
現在顯示完整代碼 – Chris