2012-10-19 54 views
0

我想实现与两个表的JOIN,但偶然发现了一个小问题。 我已经得到了以下数据结构:MySQL 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 - 马特 - 文员

什么我应该修改以便在连接期间忽略列的忽略?

谢谢。

+0

我想你想从你称为“连接表”的表中选择,并将其连接到原始表上。或者,也许你想内部加入。你还没有给出足够清晰的例子来确定。你绝对不想从第一张表中选择,并且像第一次尝试一样从第二张中选择离开。 –

回答

2
  • 交换表名
  • by子句删除组。

尝试以下,

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

SQLFiddle Demo

+0

是的!你救了我一命:)谢谢! –

0

试试这个。

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