LightTempler Ответов: 1

MS SQL: как проверить наличие всех списков строк с известными идентификаторами


Мое приложение знает список, скажем, от 5 до макс. 50 идентификаторов (форма GUID), и я ищу один запрос MS SQL, что таблица содержит строки со всеми из них. Мне не нужно знать, какой из них может отсутствовать, просто: у нас есть все или нет.

Я ищу что-то вроде
SELECT COUNT * FROM myTable WHERE ID IN (ID1, ID2, ...IDn)

и если число результатов равно числу идентификаторов, то у меня есть все они.
Спасибо Вам за любую помощь!
легкий

Что я уже пробовал:

Я сделал свои мысли самым простым способом, но я не гуру SQL :)

1 Ответов

Рейтинг:
8

Garth J Lancaster

Ну, фу-у, я бы так и сделал

SELECT ID, COUNT(*) FROM myTable group by ID
"возможно"
SELECT ID, COUNT(*) FROM MyTable WHERE ID In (ID1, ID2, .. IDn) GROUP BY ID


Преимущество приходит, если вам затем на каком-то этапе нужно проверить недостающие, в то время как вы можете быстро суммировать количество(ы), если это то, что вам нужно

Вы также можете посмотреть на предложение "иметь", т. е.,
HAVING COUNT = 0
Предложение SQL HAVING[^]


LightTempler

Большое спасибо!
Именно то, что я искал!

легкий