是否可以在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>
希望您能帮助我解决这个问题。
谢谢。
答案 0 :(得分:2)
您可以使用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
如果三个表中的列名不同,则需要为列名加上别名。