如何连接两个查询?

时间:2014-07-20 19:59:13

标签: mysql

我创建了三个表,我的查询工作正常,但我试图连接两列,但我收到错误。

以下代码从3个不同的表中获取信息

(SELECT 
     programme_date, prog_start_time, walk_title, guide_fname, guide_sname
 FROM 
     programme, walk, guide)  

此代码连接正在运行。

SELECT CONCAT(guide_fname, guide_sname) AS guide_fullname
FROM guide

我希望将两个查询的所有查询组合在一起。有人可以帮忙吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我要去承担你们桌子的结构和关系。

您需要使用INNER JOIN使用PRIMARY KEY和相关FOREIGN KEY列将表连接在一起。 另外,我建议使用CONCAT_WS代替CONCAT,因为它可以更好地处理NULL值。

SELECT programme_date, prog_start_time, walk_title, CONCAT_WS(' ', guide_fname, guide_lname) as fullname
FROM programme AS p
INNER JOIN walk AS w ON w.programme_id = p.id
INNER JOIN guide AS g ON g.id = w.guide_id