次の ID (626、1985、2511) を満たすすべての応募者のすべての規則を印刷しようとしています。
最初のルールとして 626 を持つ申請者を印刷しますが、1985 と 2511 のみを持ち、626 を持たない申請者は印刷しません)。何か案が?
select DISTINCT AD1.AppID,
MAX(CASE WHEN (APDR1.SETTINGID= 626) THEN APDR1.reviewruletext ELSE ' ' END)AS 'Rule1',
MAX(CASE WHEN (APDR2.SETTINGID= 1985)THEN APDR2.reviewruletext ELSE ' ' END)AS 'Rule2',
MAX(CASE WHEN (APDR8.SETTINGID= 2511) THEN APDR8.reviewruletext ELSE ' ' END)AS 'Rule8'
from appdetail ad1
LEFT OUTER JOIN AppPartyDetailRule APDR1 on
apdr1.AppID=ad1.AppID AND
apdr1.AppDetailID= ad1.AppDetailID and
apdr1.AppDetailSavePointID= AD1.AppDetailSavePointID AND
ad1.AppDetailSavePointID=0 AND
APDR1.SettingID= 626
LEFT OUTER JOIN AppPartyDetailRule APDR2on
ad1.appid= apdr2.appid and
ad1.appdetailID= apdr2.appdetailID and
ad1.appdetailsavepointid= apdr2.appdetailsavepointid and
ad1.appdetailsavepointid= 0 AND
APDR2.SettingID= 1985
LEFT OUTER JOIN AppPartyDetailRule APDR8 on
ad1.appid= apdr8.appid and
ad1.appdetailID= apdr8.appdetailID and
ad1.appdetailsavepointid= apdr8.appdetailsavepointid and
ad1.appdetailsavepointid= 0 AND
APDR8.SettingID= 2511
group by AD1.AppID,.... etc. (more fields)
テーブル構造は次
のとおりです。AppID、AppDetailID、AppDetailsavepointID は、上記の PK を使用して APDR に数回リンクされた AD1 テーブルの主キーを構成し、設定 ID の異なる値を抽出するたびに作成されます。
望ましい出力: AppID レビュー ルール テキスト 1、レビュー ルール テキスト 2、レビュー ルール テキスト 8
review Rule Text1 は 626、2 は 1985、8 は 2511 を表し、それぞれが特定のルールを表します