クエリ用にレコードを「製造」する必要がありますが、同時に「ルックアップ」テーブルから返される値のリストを制限します。
インライン ビューを使用せずに CROSS JOIN を「フィルター」する方法はありますか?
この構文は期待どおりに機能します (望ましい結果が得られます)。
SELECT E.ID,
M.VALUE,
MT.ID, MT.NAME
FROM ENCOUNTER E
CROSS JOIN (
SELECT ID, NAME
FROM MEASUREMENT_TYPE
WHERE ID IN ('6941','6946')
) MT
LEFT OUTER JOIN MEASURE M ON E.ID=M.ENCOUNTER_ID
AND MT.ID=M.MEASURE_TYPE_ID
残念ながら、このアプローチを使用する場合、ネイティブの「Visual Linking Expert」ではなく、Crystal Reports で Command オブジェクトを使用する必要があります。コマンドオブジェクトは私を苛立たせます。
WHERE 句にフィルターを追加すると、この状況では望ましくない等結合になります。