我在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'
但是我的结果为零。
任何人都可以帮助我如何获得与我所展示的表格相关的所有数据。
答案 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结果