我正在寻找显示3个表格数据的最佳方式。让我解释。我有一个主表,列出事件,每个事件可以有多个类别,所以我使用连接表将类别链接到事件。我想循环遍历所有事件,并在每个事件下显示通过连接表相关的类别,我不确定这样做的最有效方法是什么?
更多信息:
我可以通过在事件循环中添加一个SQL语句来轻松实现这一点,它通过每次循环时更新语句中的事件id来拉出所选类别,但我确信有一个更优雅的方法使用一个sql查询创建一个可以在事件循环中使用的数组 - 我只是不确定我应该从哪里开始查看?
答案 0 :(得分:0)
假设您有以下表格:
create table event (
event_id int not null primary key,
....
);
create table evcat (
event_id int not null,
cat_id int not null,
key (event_id, cat_id )
);
create table category (
cat_id int not null,
...
);
然后查询只是3个表中的连接:
select * from event ev
join evcat ec on ec.event_id = ev.event_id
join category c on c.cat_id= ec.cat_id;