MySql使用4个表加入

时间:2012-07-03 09:12:38

标签: mysql

我有4个表,我想加入它们并提取4个值。

我编写了以下MySql查询,但它不起作用。

select `a`.`id`,`a`.`page` xpage,`a`.`action`,
`b`.`header` xheader, `b`.`page_id`,
`c`.`content` xcontent,`b`.`page_id`,
`d`.`footer` xfooter,`d`.`page_id`
join `header` b
on `a`.`id`=`b`.`page_id`
join `content` c
on `a`.`id`=`c`.`page_id` and `a`.`id`=`d`.`page_id`
join `footer` d
on `a`.`id`=`d`.`page_id`
where `a`.`page`='main'

4 个答案:

答案 0 :(得分:2)

你忘记了这里的from条款。

select `a`.`id`,`a`.`page` xpage,`a`.`action`,
`b`.`header` xheader, `b`.`page_id`,
`c`.`content` xcontent,`b`.`page_id`,
`d`.`footer` xfooter,`d`.`page_id` 
from `a`
join `header` b
on `a`.`id`=`b`.`page_id`
join `content` c
on `a`.`id`=`c`.`page_id` and `a`.`id`=`d`.`page_id`
join `footer` d
on `a`.`id`=`d`.`page_id`
where `a`.`page`='main'

答案 1 :(得分:1)

你缺少FROM

应该像:

select `a`.`id`,`a`.`page` xpage,`a`.`action`,
`b`.`header` xheader, `b`.`page_id`,
`c`.`content` xcontent,`b`.`page_id`,
`d`.`footer` xfooter,`d`.`page_id`
from `a`
join `header` b
on `a`.`id`=`b`.`page_id`
join `content` c
on `a`.`id`=`c`.`page_id` and `a`.`id`=`d`.`page_id`
join `footer` d
on `a`.`id`=`d`.`page_id`
where `a`.`page`='main'

答案 2 :(得分:1)

你错过了一张FROM表吗?应该是

SELECT a,b,c FROM page a join header b on a.id=b.page_id

答案 3 :(得分:1)

您错过了FROM关键字:

select `a`.`id`,`a`.`page` xpage,`a`.`action`,
       `b`.`header` xheader, `b`.`page_id`,
       `c`.`content` xcontent,`b`.`page_id`,
       `d`.`footer` xfooter,`d`.`page_id` 
from `a`
        join `header` b
            on `a`.`id`=`b`.`page_id`
        join `content` c
            on `a`.`id`=`c`.`page_id` and `a`.`id`=`d`.`page_id`
        join `footer` d
            on `a`.`id`=`d`.`page_id`
where `a`.`page`='main'