SELECT TOP 4000 Users.Id
FROM Users
JOIN Streams ON Users.Id = Streams.UserId
JOIN Playlists ON Streams.Id = Playlists.StreamId
WHERE Playlists.FirstItemId = '00000000-0000-0000-0000-000000000000'
// Doesn't work
HAVING COUNT(1) = (
SELECT COUNT(Playlists.Id)
FROM Playlists WHERE Playlists.StreamId = Streams.Id
)
1 つのプレイリストを持つストリームのみを持ち、その 1 つのプレイリストの FirstItemId が Guid.Empty であるすべてのユーザーを選択しようとしています。データベースのメンテナンスを行い、作成されたが使用されなかったアカウントを削除しようとしています。
クエリの最初の部分はうまく機能していますが、「子供が 1 人しかいない」フィルターを適切に適用する方法がわかりません。