2

私は 2 つのテーブルを持っています。最初のテーブルはフィールドID、 STATUS_CODE 、STATUS_SUBCODE、SUBJECT_CODE、SUBJECT_SUBCODE を持つ MASTER_TABLEで、2 番目のテーブルはコードとサブコードの組み合わせごとに一意の説明を持つCODE_TABLEです。次のフィールドがありますCODESUBCODE、およびDESCRIPTION

ID、 STATUS、およびSUBJECTを取得するためのクエリを作成する方法、たとえば、MASTER_TABLE の STATUS_CODE と STATUS_SUBCODE のすべての組み合わせについて、CODE_TABLE の STATUS 値を取得する必要があります。同様に、SUBJECT についても同じことを行う必要があります。

4

1 に答える 1

2

ルックアップのタイプごとに1回ずつ、 2回結合する必要がありCODE_TABLEます。したがって、行を互いに区別するには、少なくとも1つをエイリアスする必要があります(ただし、通常は、以下のように1つで両方をエイリアスします)。

select 
  mt.ID,
  ct1.DESCRIPTION as STATUS
  ct2.DESCRIPTION as SUBJECT
from MASTER_TABLE mt
left join CODE_TABLE ct1 
    on ct1.CODE = mt.STATUS_CODE and ct1.SUBCODE = mt.STATUS_SUBCODE
left join CODE_TABLE ct2
    on ct2.CODE = mt.SUBJECT_CODE and ct2.SUBCODE = mt.SUBJECT_SUBCODE

leftからデータが欠落している場合に備えて、結合を結合しましCODE_TABLEた。この場合、このクエリはnull対応する説明のを生成します。

于 2013-03-23T11:50:38.637 に答える