0

我有一个名为 Patient 的表,其中有类似的列

ID Disease1  Disease2  Disease3
         ----------
1     4        3         2
         ----------
2     2        5
         ----------    
3     6
         ----------
4     1

这些是我从疾病表中获得的映射值,其中疾病名称的放置方式如下

1  hypertension
2  niddm
3  allergy  
4  cough
5  floo
6   vv
etc

现在我想要 sql 查询来选择

ID Disease1  Disease2  Disease3
           ----------
1   cough    allergy     niddm
           ----------
2   niddm    floo
           ----------
3    vv
           ----------
4     HT

请记住,我的表格映射了 4,5 个表格,我希望原始值代替所有表格的 id。

4

1 回答 1

3

您需要在表Disease上三次加入表,Patient因为其中有三列Patient依赖于Disease

SELECT  a.ID,
        b.Disease AS Disease1,
        c.Disease AS Disease2,
        d.Disease AS Disease3
FROM    Patient a
        LEFT JOIN Disease b
            ON a.Disease1 = b.ID
        LEFT JOIN Disease c
            ON a.Disease2 = c.ID
        LEFT JOIN Disease d
            ON a.Disease3 = d.ID

要进一步了解有关联接的更多信息,请访问以下链接:

于 2013-05-29T06:59:14.460 回答