是否可以在MySQL上联接3个表,最终输出将在下面显示示例。

表格1

Dog     2
Cat     3


表2

Dog     1
Cow     3


表3

Cat     1
Rat     3


最终输出

Dog     3
Cat     4
Rat     3
Cow     3


更新输出



Thanks, but how to do if the output is like below.<br><table>
  <tr>
    <th>Animal</th>
    <th>Table 1</th><th>Table 2</th><th>Table 3</th>
  </tr>
  <tr>
    <td>Dog</td>
    <td>2</td><td>1</td><td>0</td>
  </tr>  <tr>
    <td>Cat</td>
    <td>3</td><td>0</td><td>1</td>
  </tr><tr>
    <td>Cow</td>
    <td>0</td><td>3</td><td>0</td>
  </tr>  <tr>
    <td>Rat</td>
    <td>0</td><td>0</td><td>3</td>
  </tr></table>





希望您能帮我解决这个问题。

谢谢。

最佳答案

您可以使用union语句将三个表合并在一起,然后像这样从它们中选择:

SELECT
    column1,
    SUM(column2)
FROM
(
    SELECT column1, column2 FROM Table1
    UNION ALL
    SELECT column1, column2 FROM Table2
    UNION ALL
    SELECT column2, column2 FROM Table3
)
GROUP BY column1


如果三个表中的列名不同,则需要为列名加上别名。

关于mysql - MySQL上的3表数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54938071/

10-11 02:47
查看更多