Хранимая процедура для возврата нескольких записей на основе нескольких условий - PullRequest
1 голос
/ 27 мая 2011

Я новичок в SQL-сервере, поэтому ищу небольшую помощь по написанию хранимой процедуры:

кратко о том, что я делаю: сотрудник говорит, что он является экспертом (типом) в различных областях (отраслях) и готов работать в странах по выбору (mycountries) и в моей sal (minsal) и в моей родной стране (orgcountry)

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

Таблица сотрудников имеет много записей с такими столбцами: имя, адрес электронной почты, myindustries, mycountries, mytype, minsal

Таблица работодателей имеет много записей с такими столбцами, как: экспертные потребности, отрасли, страны, саль-с, саль-до

теперь, когда сотрудник входит в систему, он / она должен получить все записи соответствующих работодателей

Когда работодатель входит в систему, он / она также получает все записи о соответствующих сотрудниках.

Может ли кто-нибудь помочь в написании sp для этого? признателен за любую помощь

1 Ответ

0 голосов
/ 27 мая 2011

Если вы храните идентификаторы, разделенные запятыми, вам понадобится функция для разделения строки на несколько строк. Вот как вы бы это использовали:

SELECT DISTINCT employee.name [employee], employer.name [employer]
FROM employee
    OUTER APPLY dbo.split(employee.myindustries) myi (industry)
    OUTER APPLY dbo.split(employee.mycountries) myc (country)
JOIN employer
    OUTER APPLY dbo.split(employer.inindustries) ini (industry)
    OUTER APPLY dbo.split(employer.incountries) inc (country)
WHERE employer.expertneed = employee.type
    AND ini.inindustries = myi.industry
    AND inc.incountries = myc.country
    AND employee.minsal BETWEEN employer.[sal-from] AND employer.[sal-to]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...