Php mysql与条件的一对多关系
我有两个表事件和事件可见性Php mysql与条件的一对多关系,php,mysql,Php,Mysql,我有两个表事件和事件可见性 SELECT Event.*, EventVisibility.* FROM events AS Event LEFT JOIN events_visibility AS EventVisibility ON (Event.id = EventVisibility.event_id) WHERE 'Event.all' = 1 OR ( 'EventVisibility.visible_to_id' = 2 AND 'Even
SELECT Event.*, EventVisibility.* FROM events AS Event
LEFT JOIN events_visibility AS EventVisibility
ON
(Event.id = EventVisibility.event_id)
WHERE
'Event.all' = 1
OR
(
'EventVisibility.visible_to_id' = 2 AND
'EventVisibility.visible_to' = 159
)
事件表和列
id - title - all
事件的可见性及其列
id - event_id - visibile_to - visibile_to_id
这里的visibile_是指可以看到此事件的用户。这里可以看到A组、B组、C组,因此一个事件可以在事件\ U可见性中有多个条目
SELECT Event.*, EventVisibility.* FROM events AS Event
LEFT JOIN events_visibility AS EventVisibility
ON
(Event.id = EventVisibility.event_id)
WHERE
'Event.all' = 1
OR
(
'EventVisibility.visible_to_id' = 2 AND
'EventVisibility.visible_to' = 159
)
我想根据可见性获取唯一的事件,如果有的话,类似这样的东西
这个查询没有给我正确的结果
你能看一下吗 可能是你在单引号内写的专栏。试试这个
SELECT Event.*, EventVisibility.* FROM events AS Event
LEFT JOIN events_visibility AS EventVisibility
ON
(Event.id = EventVisibility.event_id)
WHERE
Event.all = 1
OR
(
EventVisibility.visible_to_id = 2 AND
EventVisibility.visible_to = 159
)