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

时间:2018-02-12 01:34:52

标签: sql sql-server

嗨我想要显示与一首歌相关的持续时间相同的歌曲,没有子查询 下面的代码只显示了一首SongTitle name->

的歌曲
SELECT SongsTitle
FROM Songs
WHERE SongsTitle='Lahor'

如何显示与'Lahor'歌曲

相同持续时间的歌曲

2 个答案:

答案 0 :(得分:1)

当然没有子查询就可以了:

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

(如果您不想要" Lahor"在结果集中,您需要将其过滤掉。)

就个人而言,我认为子查询的方法更容易理解。

答案 1 :(得分:0)

有一个选择我不认为它可能。请尝试这样 -

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