MySQL JOIN会覆盖原始表值

时间:2012-10-19 16:33:16

标签: mysql join

我正在尝试使用两个表来实现JOIN,但偶然发现了一个问题。 我有以下数据结构:

原始表
ID - 名称 - 值
1 - 约翰 - 文员
2 - 杰克 - 司机

加入表格
ID - 名称
1 - 约翰 2 - 杰克
3 - 马特

我需要加入我的表格,以便结果如下:

结果
ID - 名称 - 值
1 - 约翰 - 文员
2 - 杰克 - 司机
3 - 马特 - 无效

所以,我写了以下声明SELECT * FROM original_table LEFT JOIN join_table ON original_table.ID GROUP BY join_table.ID

它返回以下结果:

结果
ID - 名称 - 值
1 - 约翰 - 文员
2 - 杰克 - 文员
3 - 马特 - 文员

在连接过程中,我应该修改哪些值才能忽略值?

谢谢。

2 个答案:

答案 0 :(得分:3)

  • 交换表名
  • 删除 group by子句。

尝试以下方法,

SELECT  a.id, a.name, b.value
FROM    join_table a 
        LEFT JOIN original b
            on a.id = b.id

SQLFiddle Demo

答案 1 :(得分:0)

试试这个。

SELECT * FROM join_table LEFT JOIN original_table ON original_table.ID = join_table.id;