1

3 つのテーブルを結合しようとしています。テーブル A、B、および C。ID は 3 つのテーブルすべてで同じです。

各テーブルにはフィールドの説明があります。表 A の説明 Name を持つ ID 1 は、表 B の説明 Name を持つ ID 1 である必要があります。同様に、表 C の場合は、説明 Name を持つ ID1 である必要があります。

ただし、一部の ID には ID1 の説明 Nameblank が表示されます。B または C と同じ値の場合、SAME – A を表示したいのですが、3 つすべてが同じ場合は、表示したくありません。例えば:

表 A

ID      Description

1       Name

2       Noname

3       Namea

表 B

ID      Description

1       Nameblank

2       Noname

3       Nameb

表 C

ID      Description

1       Name

2       Noname

3       Namec

結果

ID  A Description   B Description   C Description

1       |   Name  |  Namea        |   Nameblank

3       |       Nameb|  SAME – A      |    Namec

以前に 3 つのテーブルに参加したことがなく、混乱しています。助けてくれてありがとう。

4

2 に答える 2

0
select TABLEA.ID, 
       TABLEA.Description as ADescription,

       CASE WHEN TABLEA.Description=TABLEB.Description THEN 'SAME - A'
                  ELSE TABLEB.Description
       END as BDescription,

       CASE WHEN TABLEA.Description=TABLEC.Description THEN 'SAME - A'
                  ELSE TABLEC.Description
       END as CDescription

from TABLEA
JOIN TABLEB on TABLEA.id=TABLEB.id
JOIN TABLEC on TABLEC.id=TABLEC.id

Where TABLEA.Description<>TABLEB.Description
      or 
      TABLEB.Description<>TABLEC.Description
ORDER BY TABLEA.id
于 2013-05-24T05:38:07.987 に答える