THINKPHP想做一个收藏列表,数据表如下,请帮忙分析一下,如何操作呢?SQL...

发布网友

我来回答

1个回答

热心网友

create view 收藏列表
as
select a.id as 序号,b.leixing as 类型, b.title as 标题,a.datatid as 数据ID from table_fav a
join (
select a.id as leixingid,b.id as fenleiid,a.title as leixing,b.title from table_leixing a
join
(
select * from news
union all
select * from table_docs
union all
select * from table_images
) on 1=1

) b on a.leixing=b.leixingid and a.dataid=b.fenleiid
go
因为你这里类型和标题分类不是放在一张表中,也没有直接对应关系表存放。所以不得不用join虚拟建立一个关系,但是这会影响性能其实。由于不同的标题是放在不同的表中,所以只能全体分布,然后在通过收藏表的关系找出来符合收藏表关系的数据。追问先谢谢你,受教了。如果是你设计这个收藏功能,你如何做数据库表呢,感觉一个很小的功能,设计这么广,的确不太合理,如果在收藏表里,带上新闻标题,我又怕新闻标题更改了,无法同步。唉

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com