написание хранимой процедуры для выбора значений из одного столбца на основе ссылки на входной параметр в другой столбец той же таблицы - PullRequest
0 голосов
/ 16 декабря 2011

У меня есть таблица с двумя столбцами projectIDS и ServiceIDS.Каждый проект будет иметь набор услуг.Теперь мне нужно написать процедуру для получения общих служб для списка идентификаторов проектов, которые я передаю в качестве параметра.
т.е. предположим, что у меня есть

                             PID      SID
                             ---      ---
                              1         1
                              1         2
                              1         3
                              2         1
                              2         2
                              3         1
                              3         3

Теперь, если я передам PID (1,2,3) в качестве входного параметра я должен получить SID = 1 в качестве выходного, поскольку он является общим для всех проектов.спасибо

1 Ответ

0 голосов
/ 16 декабря 2011

Я думаю, что вы пытаетесь найти записи, в которых сопоставляется целый набор.

Предположим, у вас есть этот набор в таблице, свяжите его с исходной таблицей, исключая PID, которых нет в вашем наборе.

Затем посчитайте количество совпадений для каждого SID.Если количество PID для SID равно количеству PID в вашем наборе, то у вас есть совпадение.

SELECT Sid
FROM MyTable
GROUP BY Sid
HAVING Count(DISTINCT Pid) = 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...