powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вывод только меньшего кол-ва
4 сообщений из 4, страница 1 из 1
Вывод только меньшего кол-ва
    #40058491
Raze
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый, подскажет может кто...? есть две таблицы (dmz - заголовок документа; dms - строки документа), они связаны по ключевому полю undoc. Далее есть столбец "Действие" (ksts), в нем расписаны 3 действия: Добавление (код - 777), Удаление (778) и Корректировка (779). Есть еще два столбца, которые интересуют - это kol_p (кол-во старое) и kol (кол-во плановое, т.е. сколько стало). В данным момент интересует только действия удаление и корректировка.
Например: у документа 1219385, для корректировки есть несколько строк, где
кол-во старое: 80, 15, 22 и 147;
кол-во план.: 70, 16, 21 и 135.
Итого: -10, +1, -1 и -12

Нужно получить только те строки, где кол-во плановое стало меньше, как можно это сделать? помогите, пожалуйста)
Сейчас написано вот так, но выводит и +, и -

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select 
case when kol_rez < kol_p then kol_rez else kol end r
from (select ksts, kol_p, kol, (case when dms.KSTS = '779' then kol_p - kol else kol end) as kol_rez
	  from dmz 
	  inner join dms 
		on dmz.undoc = dms.undoc and ksts = '779'
	where dmz.kdmt = 'КПВП' and dmz.undoc = 1219385 
	) r
...
Рейтинг: 0 / 0
Вывод только меньшего кол-ва
    #40058497
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавить в конец

where r.kol_rez < r.kol_p
...
Рейтинг: 0 / 0
Вывод только меньшего кол-ва
    #40058523
Raze
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не, тоже самые получается, выводит + и -
...
Рейтинг: 0 / 0
Вывод только меньшего кол-ва
    #40058541
Raze
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
L_argo, короче, все верно, это у меня уже все похоже, крыша ту-ту)
единственно сравниваем не kol_rez < kol_p, a kol < kol_p
и тогда выводит все как надо)
Спасибо!

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select r.kol_rez
from(
select ksts, kol_p, kol, (case when dms.KSTS = '779' then kol_p - kol else kol end) as kol_rez
from dmz
inner join dms
     on dmz.undoc = dms.undoc and ksts = '779'
where dmz.kdmt = 'КПВП' and dmz.undoc = 1219385
) r
where r.kol< r.kol_p
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вывод только меньшего кол-ва
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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