我要用sql查询出来,我所发布的帖子和我关注的用户发布的帖子,这个sql该怎么写啊?

selectt.*
fromtalkt
wheret.user_id=2
Union
selectt.*
fromtalkt,user_contactc
wherec.user_id=2andc.contact_type=1andc.be_user_id=t.user_id
这么写可以但是不想这么写,想用内连接或者左连接
存在一种情况就是这个user在user_contact表里面没数据,代表他没关注任何人
user_id=1是用户的id,也就是我的id
selectt.*
fromtalktleftjoinuser_contactconc.user_id=t.user_id
wheret.user_id=1or(c.user_id=1andc.be_user_id=t.user_idandc.contact_type=1)
搞不明白哪里有错啊,为啥就会有重复数据呢
我这样写查询出来有重复数据
user_contact是用户关系表
talk是帖子表
帖子表talk有存发布帖子的用户的user_id然后用户关系表user_contact存了user_id,be_user_id是被关注的用户的id,contact_typ_type是用户关系类型,1为关注类型
求教,不知道该怎么写了
慕无忌1623718
浏览 410回答 1
1回答

暮色呼如

select*fromtalkwhereuser_id=1oruser_idin(selectbe_user_idfromuser_contactwhereuser_id=1andcontact_type=1)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript