显示持续时间与歌曲标题相同的所有歌曲的列表 "Lahor"(不带子查询)



嗨,我想展示与一首歌相关的持续时间,而无需子查询下面的代码仅显示带有Songtitle名称的一首歌 ->

SELECT SongsTitle
FROM Songs
WHERE SongsTitle='Lahor'

如何显示歌曲,例如'lahor'歌曲

当然,没有子查询是可能的:

SELECT s.*
FROM Songs s JOIN
     Songs sl
     ON sl.SongsTitle = 'Lahor' AND
        sl.duration = s.duration;

(如果您不想在结果集中" lahor",则需要过滤出来。(

就个人而言,我认为带有子查询的方法更容易遵循。

有一个选择,我认为这是不可能的。请像这样尝试 -

SELECT x.* FROM Songs S
CROSS APPLY 
(
    SELECT S1.*
    FROM Songs S1       
    WHERE S1.SongsDuration = S.SongsDuration
)x
WHERE S.SongsTitle='Lahor'

最新更新