Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выборка по приоритету  [new]
katish444
Member

Откуда:
Сообщений: 261
Добрый день, форумчане.

Подскажите, пожалуйста, как сделать выборку по приоритету. Есть у меня таблица, в которой для одной глубины есть 2 измерения, но одно из них хуже. Мне необходимо, чтобы всегда выдавало приоритет 1 , но если его нет, то только тогда приоритет 2.
Как это можно реализовать?
 declare  @survey  table (holeid varchar(255),depth float ,AZIMUTH float,dip float, SURVTYPE varchar(255),PRIORITY float)
insert into @survey  (holeid, depth, AZIMUTH, dip, SURVTYPE,PRIORITY) values ('UZ-001', 0, 220, '-30','Coll',1)
insert into @survey  (holeid, depth, AZIMUTH, dip, SURVTYPE,PRIORITY) values ('UZ-001', 0, 220, '-30','TD',2)
insert into @survey  (holeid, depth, AZIMUTH, dip, SURVTYPE,PRIORITY) values ('UZ-001', 0, 220, '-30','Plan',3)
insert into @survey  (holeid, depth, AZIMUTH, dip, SURVTYPE,PRIORITY) values ('UZ-001', 10, 220, '-40','Plan',3)
insert into @survey  (holeid, depth, AZIMUTH, dip, SURVTYPE,PRIORITY) values ('UZ-002', 0, 240, '-60','Plan',3)
select * from @survey

Кажется у меня кривые руки...
3 сен 18, 13:14    [21662565]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по приоритету  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36687
Если я правильно угадал ключ:

select
    holeid, depth, AZIMUTH, dip, SURVTYPE,PRIORITY
from (
    select 
        a.* 
        , rn = row_number () over ( partition by holeid order by PRIORITY )
    from @survey a
) a
where
    a.rn = 1
3 сен 18, 13:21    [21662573]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по приоритету  [new]
iap
Member

Откуда: Москва
Сообщений: 46951
Простая задача
3 сен 18, 13:27    [21662587]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по приоритету  [new]
katish444
Member

Откуда:
Сообщений: 261
Гавриленко Сергей Алексеевич, к сожалению этот скрипт не предусматривает подстановку второго приоритета, если нет первого. Но я нашла решение. Спасибо!
5 сен 18, 05:49    [21664947]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по приоритету  [new]
katish444
Member

Откуда:
Сообщений: 261
iap, спасибо. Очень помогло!
5 сен 18, 05:50    [21664948]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по приоритету  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30726
katish444
Гавриленко Сергей Алексеевич, к сожалению этот скрипт не предусматривает подстановку второго приоритета, если нет первого
Предусматривает. И даже подстановку третьего приоритета, если нет первого и второго :-)
Это, кстати, вариант "1" из тех, что по ссылке от iap
5 сен 18, 07:28    [21664974]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить