Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поиск в таблице
|
|||
|---|---|---|---|
|
#18+
Добрый день, Уважаемые! Опять безбожно туплю Вся надежда на то, что кто-нибудь из отцов стукнет по голове хорошим ответом и тогда все встанет на свои места... Такая задача: есть таблица PropertyID Value 1 Вася 1 Федя 1 Никанор 2 Петрович 2 Сидорович 2 Акакич 3 Иванов 3 Петров 3 Цыбулько В данном вырожденном варианте соответственно, имеем ФИО. Итак, постановка вопроса: Надо устроить поиск таким образом (псевдокод хранимой процедуры): CREATE PROCEDURE sp_FIOSearch @Name varchar(100), @MiddleName varchar(100), @LastName varchar(100) AS -- Далее код процы. Самое интересное, что надо поиск построить по И, то есть хранимой процедуре может быть передан как один параметр, так и комбинации "фамилия-имя", "имя-отчество", "фамилия-отчество". Ну и соответственно, могут быть переданы все три параметра скопом... Собственно, чего-то я не пойму, как написать запрос, учитывая, что все данные храняться в одном поле таблицы с разными PropertyID (в нашем случае 1- Имя, 2- Отчество, 3- Фамилия)... Собсно, громко взываю о помощи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2002, 07:36 |
|
||
|
Поиск в таблице
|
|||
|---|---|---|---|
|
#18+
"чего-то я не пойму, как написать запрос" Я то же не пойму по какому признаку "Вася" должен быть "Иванов" а не "Петров". По-моему поля не хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2002, 07:55 |
|
||
|
Поиск в таблице
|
|||
|---|---|---|---|
|
#18+
Поле есть, не волнуйтесь... Я привел вырожденный пример... Главное, как даже на основе вырожденного примера построить нужный запрос... А поле (в вопрос) можно добавить, например, UserID... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2002, 07:57 |
|
||
|
Поиск в таблице
|
|||
|---|---|---|---|
|
#18+
Действительно, вырожденный случай... CREATE PROCEDURE sp_FIOSearch @Name varchar(100) , @MiddleName varchar(100) , @LastName varchar(100) AS declare @t table ( UserID int , PropertyID int , Value varchar(100) ) insert @t select UserID, PropertyID, Value from t where PropertyID = 1 and Value = isnull(@Name, Value) and PropertyID = 2 and Value = isnull(@MiddleName, Value) and PropertyID = 3 and Value = isnull(@LastName, Value) select t1.UserID , Name = t1.Value , MiddleName = t2.Value , LastName = t3.Value from @t t1 join @t t2 on t2.UserID = t1.UserID and t2.PropertyID = 2 join @t t3 on t3.UserID = t1.UserID and t3.PropertyID = 3 where t1.PropertyID = 1 GO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2002, 09:23 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32023866&tid=1823773]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 325ms |

| 0 / 0 |
