php:在三个db表之间显示相关数据的最快方法是什么
我正在寻找显示3个表中数据的最佳方法。让我解释一下。我有一个主表列出事件,每个事件可以有许多类别,所以我使用一个连接表将类别链接到事件。我想循环浏览所有事件,并在每个事件下显示通过联接表关联的类别,我不确定这样做的最有效方式是什么 更多信息:php:在三个db表之间显示相关数据的最快方法是什么,php,mysql,Php,Mysql,我正在寻找显示3个表中数据的最佳方法。让我解释一下。我有一个主表列出事件,每个事件可以有许多类别,所以我使用一个连接表将类别链接到事件。我想循环浏览所有事件,并在每个事件下显示通过联接表关联的类别,我不确定这样做的最有效方式是什么 更多信息: 我可以通过在事件循环中添加一条SQL语句来轻松实现这一点,该语句通过在每次循环时更新语句中的事件id来提取所选类别,但我相信有一种更优雅的方法,它使用一个sql查询创建一个数组,然后可以在事件循环中使用-我只是不确定应该从哪里开始查找?假设您有如下表: c
我可以通过在事件循环中添加一条SQL语句来轻松实现这一点,该语句通过在每次循环时更新语句中的事件id来提取所选类别,但我相信有一种更优雅的方法,它使用一个sql查询创建一个数组,然后可以在事件循环中使用-我只是不确定应该从哪里开始查找?假设您有如下表:
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;
到目前为止,您的SQL是什么样子的?还有,您的表是什么样子的?这些表中应该有多少行(特别是,如果行数增长了,那么它们的增长速度有多快)