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 of Guid.Empty. Я пытаюсь выполнить некоторое обслуживание базы данных и удалять учетные записи, которые были созданы, но никогда не использовались.Выбрать только родителей с одним ребенком
У меня первая часть запроса работает очень хорошо, но я не уверен, как правильно применить фильтр «Имею только один ребенок».
Может ли вы описать пользователь, Streams и плейлисты таблицу? –
Пользователи имеют отношения от 1 до многих с потоками. Потоки имеют отношение от 1 до многих к плейлистам. Я добавлю скриншот из таблиц, если это поможет? –
Является ли ваша проблема просто ключевым словом? То есть, в своем предложении, вы можете просто сравнить подзапрос с «1» вместо «COUNT (1)»? – Zec