Php mysql多字段连接查询
我在mysql中有以下表格 焦点 焦点事件Php mysql多字段连接查询,php,mysql,Php,Mysql,我在mysql中有以下表格 焦点 焦点事件 id event_id focus_id 1 1 2 2 1 1 3 2 1 事件 event_id name 1 event 2 evemt2 故事 事件与故事 id event_id story_id 2 2 这是我的问题 SELECT `focus`.`focus_id`, `focus`.`focus`, `e
id event_id focus_id
1 1 2
2 1 1
3 2 1
事件
event_id name
1 event
2 evemt2
故事
事件与故事
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'
但我得到的结果是零
有谁能帮助我如何获取与我显示的表相关的所有数据。
event\u id
在events\u story
所以下面的连接不起作用
JOIN `events_story` ON `events_story`.`event_id` = `events`.`event_id`
如果此数据是预期的/有效的,您可能希望将联接从
join
更改为LEFT-OUTER-join
使用LEFT-join
而不是join
。您将发现哪个表返回NULL
值,即使用justJOIN
时将引发0结果您的事件故事表值看起来不正确。事件id为空或故事id为空?我假设id为PK,因此值为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'
JOIN `events_story` ON `events_story`.`event_id` = `events`.`event_id`