mysql连接查询有很多字段

时间:2014-11-10 12:40:21

标签: php mysql

我在mysql中有以下表格。

焦点

focus_id focus
1        Company
2        Name

events_focus

id  event_id    focus_id
1   1           2
2   1           1
3   2           1

事件

event_id name 
1        event
2        evemt2

故事

story_id name
2        storyname
3        testname

events_story

id event_id story_id
2           2

这是我的查询

SELECT `focus`.`focus_id`, `focus`.`focus`, `events`.`event_id`, `events`.`name`, `story`.`story_id`, `story`.`name` 
FROM (`focus`) 
JOIN `events_focus` ON `events_focus`.`focus_id` = `focus`.`focus_id` 
JOIN `events` ON `events`.`event_id` = `events_focus`.`event_id` 
JOIN `events_story` ON `events_story`.`event_id` = `events`.`event_id` 
JOIN `story` ON `story`.`story_id` = `events_story`.`story_id` 
WHERE `focus`.`focus` = 'Company'

但是我的结果为零。

任何人都可以帮助我如何获得与我所展示的表格相关的所有数据。

2 个答案:

答案 0 :(得分:0)

event_id中的单行中

events_story为空 所以以下连接不起作用,

JOIN `events_story` ON `events_story`.`event_id` = `events`.`event_id` 

如果此数据符合预期/有效,您可能希望将联接从JOIN更改为LEFT OUTER JOIN

答案 1 :(得分:0)

使用LEFT JOIN代替JOIN。您将找出哪个表返回NULL值,即仅使用JOIN时会产生0结果