1

データベース名: テーブル名

table : abc
Remark1 Remark2 Remark3 Remark4 Remark5
1       2       3       4       5


table : xyz
Kod_type description    
1      xxxx 
2      yyyy 
3      zzzz 
4      aaaa 
5      bbbb 

Remark1、Remark2、Remark3、Remark4、Remark5 を kod_type で結合するにはどうすればよいですか?

4

3 に答える 3

1

2 つのテーブルを結合するときはAND、Condition with句を使用します。On

すべてのコメント列を一致させたい場合は、Kod_Type に一致させる必要があります

SELECT abc.*, 
       xyz.* 
FROM   abc 
       INNER JOIN xyz 
               ON abc.Remark1 = xyz.Kod_Type 
                  AND abc.Remark2 =  abc.Remark1 
                  AND abc.Remark3 =  abc.Remark1
                  AND abc.Remark4 =  abc.Remark1 
                  AND abc.Remark5 =  abc.Remark1 

備考欄のいずれかが Kod_Type に一致するレコードが必要な場合

SELECT abc.*, 
           xyz.* 
    FROM   abc 
           INNER JOIN xyz 
                   ON abc.Remark1 = xyz.Kod_Type 
                      OR abc.Remark2 = xyz.Kod_Type 
                      OR abc.Remark3 = xyz.Kod_Type 
                      OR abc.Remark4 = xyz.Kod_Type 
                      OR abc.Remark5 = xyz.Kod_Type 
于 2012-05-30T09:05:47.993 に答える
0

通常と同じ方法で行います -

SELECT ABC.*, XYZ.* FROM XYZ, ABC
WHERE 
XYZ.KOD_TYPE=ABC.REMARK1
AND XYZ.KOD_TYPE=ABC.REMARK2
AND XYZ.KOD_TYPE=ABC.REMARK3
AND XYZ.KOD_TYPE=ABC.REMARK4
AND XYZ.KOD_TYPE=ABC.REMARK5

いずれかの発言が一致するクエリが必要な場合 -

SELECT ABC.*, XYZ.* FROM XYZ, ABC
WHERE 
XYZ.KOD_TYPE=ABC.REMARK1
OR XYZ.KOD_TYPE=ABC.REMARK2
OR XYZ.KOD_TYPE=ABC.REMARK3
OR XYZ.KOD_TYPE=ABC.REMARK4
OR XYZ.KOD_TYPE=ABC.REMARK5
于 2012-05-30T09:06:48.247 に答える
0

質問はあまり明確ではありませんが、このようなことが意図されていたと思います。

SELECT COALESC(d1.description, '') as description1
        , COALESC(d2.description, '') as description2
        , COALESC(d3.description, '') as description3
        , COALESC(d4.description, '') as description4
        , COALESC(d5.description, '') as description5
FROM abc
LEFT JOIN xyz d1 ON d1.kod_type=abc.remark1
LEFT JOIN xyz d2 ON d2.kod_type=abc.remark2
LEFT JOIN xyz d3 ON d3.kod_type=abc.remark3
LEFT JOIN xyz d4 ON d4.kod_type=abc.remark4
LEFT JOIN xyz d5 ON d5.kod_type=abc.remark5
        ;
于 2012-05-30T10:33:56.403 に答える