Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 连接3个表相同id不同描述相同_Mysql_Join - Fatal编程技术网

Mysql 连接3个表相同id不同描述相同

Mysql 连接3个表相同id不同描述相同,mysql,join,Mysql,Join,我正在尝试将三个表连接在一起。表A、B和C。 所有三个表的ID都相同 每个表都有一个字段描述。表A中描述名称为的ID 1应为表B中描述名称为的ID 1。同样,表C中描述名称为的ID 1 但有些ID显示ID1描述名称为空。如果A的值与B或C的值相同,我希望显示相同–A。如果这三个值都相同,我不希望显示。 例如: 表A ID Description 1 Name 2 Noname 3 Namea 表B ID Description 1

我正在尝试将三个表连接在一起。表A、B和C。 所有三个表的ID都相同

每个表都有一个字段描述。表A中描述名称为的ID 1应为表B中描述名称为的ID 1。同样,表C中描述名称为的ID 1

但有些ID显示ID1描述名称为空。如果A的值与B或C的值相同,我希望显示相同–A。如果这三个值都相同,我不希望显示。 例如:

表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
我以前没有加入过三张桌子,我很困惑。谢谢你的帮助

选择TABLEA.ID,
SELECT 
    A.ID as 'ID',
    A.Description as 'A Description',
    B.Description as 'B Description',
    C.Description as 'C Description'
From
    TableA A
        INNER JOIN
    TableB B ON (A.ID = B.ID)
        INNER JOIN
    TableC C ON (A.ID = C.ID)
表A.说明如下:, 当TABLEA.Description=TABLEB.Description然后为“相同-A”时的情况 表B.说明 以b描述结束, 当TABLEA.Description=TABLEC.Description然后为'SAME-A'时的情况 表C.说明 以描述结束 从表格 在TABLEA.id=TABLEB.id上连接TABLEB 在TABLEC.id=TABLEC.id上连接TABLEC 其中表A.DescriptionTABLEB.Description 或 表B.说明表C.说明 按表A.id排序
选择TABLEA.ID,
表A.说明如下:,
当TABLEA.Description=TABLEB.Description然后为“相同-A”时的情况
表B.说明
以b描述结束,
当TABLEA.Description=TABLEC.Description然后为'SAME-A'时的情况
表C.说明
以描述结束
从表格
在TABLEA.id=TABLEB.id上连接TABLEB
在TABLEC.id=TABLEC.id上连接TABLEC
其中表A.DescriptionTABLEB.Description
或
表B.说明表C.说明
按表A.id排序
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