我将如何创建一个 SQL 查询以获取另一个表中不同的前 6 个值中的不同值的结果?我拥有的是贸易展览会议和 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