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

Откуда:
Сообщений: 106
Добрый день.
После определенного запроса получаю таблицу такого вида:

id oid plan
7D1AFC91-340C0ADA876A-4C54120
0B2463DF-CCF10ADA876A-4C54300
C4EBF923-2C97B8BBC8B6-F36F 400
04F5782D-687FE0472205-8C900


Сам запрос:
select TC.ID as id, CON.OID as oid, TC.ProductPlan as plan
from database1 AS CON
left join database2 AS TC ON TC.OID = CON.OID AND Date = '2019-05-03 00:00:00.000' AND Day = 'День'
where CON.IP = '1.2.3.4'
group by CON.OID, TC.ProductPlan, TC.ID


Для понимания таблица database1:

IP OID
1.2.3.4 0ADA876A-4C54
1.2.3.4 B8BBC8B6-F36F
1.2.3.4 E0472205-8C90


Сама проблема, нужно добавить столбец check. Если в результате запроса будут повторяющиеся поля CON.OID нужно в поле написать 1 иначе null.

Результат запроса должен получится таким:

id oid plan check
7D1AFC91-340C0ADA876A-4C541201
0B2463DF-CCF10ADA876A-4C543001
C4EBF923-2C97B8BBC8B6-F36F 400null
04F5782D-687FE0472205-8C900null


Помогите пожалуйста.
5 мар 19, 09:18    [21825048]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как добавить столбец, где при выполнения условие писалась бы 1, иначе null  [new]
invm
Member

Откуда: Москва
Сообщений: 9349
case when count(*) over (partition by CON.OID) > 1 then 1 end as check
5 мар 19, 10:02    [21825089]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как добавить столбец, где при выполнения условие писалась бы 1, иначе null  [new]
Hopfen_Artur
Member

Откуда:
Сообщений: 106
invm,

Спасибо большое, работает =)
5 мар 19, 10:10    [21825103]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить