如何创建SQL查询以在另一个表的不同前6值中获取Distinct值的结果?我所拥有的是贸易展览会和3张桌子;会话,曲目和会话跟踪(复合表)。我可以获得会议的前6个不同记录,但我在会话中重复了一些曲目。我需要只显示一次曲目。以下是获取随机不同的6条记录(会话)的基本查询:
select distinct top 6(s.sessionid) sessionid
,s.title
,s.starttime
,t.showid
,trackid
,t.track
,st.sessiontracksid
,NEWID() as randomCheck
from session s
,tracks t
,sessiontracks st
where st.sessionid = s.sessionid
and st.tracksid = t.trackid
and s.showid = 43
order by NEWID()
,s.sessionid
,s.starttime desc