发布网友
共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虚拟建立一个关系,但是这会影响性能其实。由于不同的标题是放在不同的表中,所以只能全体分布,然后在通过收藏表的关系找出来符合收藏表关系的数据。追问先谢谢你,受教了。如果是你设计这个收藏功能,你如何做数据库表呢,感觉一个很小的功能,设计这么广,的确不太合理,如果在收藏表里,带上新闻标题,我又怕新闻标题更改了,无法同步。唉