Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Двойное словие в конструкции iif / 9 сообщений из 9, страница 1 из 1
17.05.2019, 08:32
    #39814387
Laikon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойное словие в конструкции iif
Всем доброго времени суток! Прошу помочь в одной конструкции. Суть проблемы:

Код: sql
1.
2.
3.
4.
5.
6.
7.
select
...
sum(iif(rd.QTYRECEIVED=p.pallet,1,0)) as pal
...

from 
...



В этой строчке считается сумма записей в таблице исходя из справочника. Т.е. если по количество rd.QTYRECEIVED равно значению в справочнике p.pallet, то к сумме добавляется единица. Но! Записи rd.QTYRECEIVED могут повторяться, а мне нужно суммировать только те, у которых в другой колонке (колонка TOID) значения уникальны. Т.е. если у записи в колонке TOID значение уникальное И количество равно справочнику, тогда добавлять единицу.
Проблема в том что все это нужно указать в конструкции iif в самом блоке SELECT до описания таблиц, откуда брать эти значения.

Надеюсь проблему объяснил понятно...хотя получилось как-то сумбурно...Заранее спасибо!
...
Рейтинг: 0 / 0
17.05.2019, 08:36
    #39814390
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойное словие в конструкции iif
Laikon,
не очень понятл, но наверное
авторCOUNT(DISTINCT CASE WHEN rd.QTYRECEIVED=p.pallet THEN QTYRECEIVED ELSE NULL END)
...
Рейтинг: 0 / 0
17.05.2019, 08:50
    #39814396
Laikon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойное словие в конструкции iif
TaPaK, я так тоже пытался, но результат немного не тот. Если использовать distinct, то этот distinct должен смотреть на колонку TOID в этой же таблице и только после этого суммировать значения по колонке rd.qtyreceived. И я как раз не могу придумать как это прописать
...
Рейтинг: 0 / 0
17.05.2019, 08:51
    #39814397
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойное словие в конструкции iif
Laikon,

COUNT(DISTINCT CASE WHEN rd.QTYRECEIVED=p.pallet THEN TOID ELSE NULL END)
...
Рейтинг: 0 / 0
17.05.2019, 09:09
    #39814405
Laikon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойное словие в конструкции iif
TaPaK, эм.... исходя из этого запроса получается, что при выполнении условия rd.QTYRECEIVED=p.pallet значение будет TOID ?? Или я как-то не так понял?
...
Рейтинг: 0 / 0
17.05.2019, 09:11
    #39814407
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойное словие в конструкции iif
Laikon,

Количество уникальных TOID для условия rd.QTYRECEIVED=p.pallet
...
Рейтинг: 0 / 0
17.05.2019, 09:34
    #39814415
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойное словие в конструкции iif
LaikonВсем доброго времени суток! Прошу помочь в одной конструкции. Суть проблемы:

Код: sql
1.
2.
3.
4.
5.
6.
7.
select
...
sum(iif(rd.QTYRECEIVED=p.pallet,1,0)) as pal
...

from 
...



В этой строчке считается сумма записей в таблице исходя из справочника. Т.е. если по количество rd.QTYRECEIVED равно значению в справочнике p.pallet, то к сумме добавляется единица. Но! Записи rd.QTYRECEIVED могут повторяться, а мне нужно суммировать только те, у которых в другой колонке (колонка TOID) значения уникальны. Т.е. если у записи в колонке TOID значение уникальное И количество равно справочнику, тогда добавлять единицу.
Проблема в том что все это нужно указать в конструкции iif в самом блоке SELECT до описания таблиц, откуда брать эти значения.

Надеюсь проблему объяснил понятно...хотя получилось как-то сумбурно...Заранее спасибо!

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select
...
sum(iif(rd.QTYRECEIVED=p.pallet,1,0)) as pal
...

from  
aTable as t
where not exists( select * from aTable as t1 where t1.TOID = t.TOID and t1.ИдентификаторСтроки <> t.ИдентификаторСтроки )
...
Рейтинг: 0 / 0
17.05.2019, 11:23
    #39814496
Laikon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойное словие в конструкции iif
aleks222, вариант не подойдет, так как я описал выше, что нужно все реализовать в блоке SELECT
...
Рейтинг: 0 / 0
17.05.2019, 11:25
    #39814497
Laikon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Двойное словие в конструкции iif
TaPaK, вроде получилось... Спасибо огромное!!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Двойное словие в конструкции iif / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]