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

Откуда:
Сообщений: 60
Ребята помогите реализовать. Есть такая выборка
date_start	IdStanok	  name_stan	         Цикл	  Наладка             Выставка/Разметка

2019-02-01 	48	FA-C221 поз. 51-5	215.189929	NULL          	      NULL
2019-02-01 	48	FA-C221 поз. 51-5	NULL	5.409980	NULL
2019-02-01 	48	FA-C221 поз. 51-5	NULL	NULL	NULL
2019-02-01 	48	FA-C221 поз. 51-5	NULL	NULL	NULL
2019-02-01 	48	FA-C221 поз. 51-5	NULL	NULL	NULL
2019-02-01 	48	FA-C221 поз. 51-5	NULL	NULL	NULL
2019-02-01 	48	FA-C221 поз. 51-5	NULL	NULL	107.815023
2019-02-01 	48	FA-C221 поз. 51-5	NULL	NULL	NULL
2019-02-01 	48	FA-C221 поз. 51-5	NULL	NULL	NULL


но нужно объединить по IdStanok, месяцу на выходе получить

date_start IdStanok name_stan Цикл Наладка Выставка/Разметка

2019-02-01 48 FA-C221 поз. 51-5 215.189929 5.409980 107.815023
29 мар 19, 12:40    [21846973]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Владислав Колосов
Member

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

group by date_start, IdStanok, name_stan?
29 мар 19, 12:43    [21846975]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20484
Если имеется 2 и более записей, где значения NOT NULL, что нужно вернуть? Максимум? сумму? среднее? что-то ещё?
29 мар 19, 13:14    [21846997]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
_ZiP_
Member

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

Это все одна запись нужно все что нул убрать и вывести одной записью дата ид имя цикл наладка вставка с заполнеными значениями
29 мар 19, 18:32    [21847505]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
_ZiP_
Member

Откуда:
Сообщений: 60
Владислав Колосов
_ZiP_,

group by date_start, IdStanok, name_stan?


Не сгруперуется
29 мар 19, 18:33    [21847507]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
_ZiP_
Member

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

not null может быть только единственным по столбцу. Тоесть всегда по одному ид соответсвует одно заполненое значение столбца. Сразу два значения по одному и томуже ид столбцу не существует. Короче нужно убрать null и вывести одной строчкой с заполнеными данными
29 мар 19, 18:38    [21847512]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
iiyama
Member

Откуда:
Сообщений: 642
+

declare @LogTable table(date_start	date, IdStanok int,	  name_stan	nvarchar(50), Цикл decimal(19,6),  Наладка decimal(19,6), [Выставка/Разметка] decimal(19,6))

insert into @LogTable values
 ('20190201', 	48,	N'FA-C221 поз. 51-5',	215.189929,	NULL,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	5.409980,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,107.815023)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,NULL)


select date_start, IdStanok,	  name_stan
	, MAX(Цикл) AS Цикл
	, MAX(Наладка) as Наладка
	, MAX([Выставка/Разметка] ) as [Выставка/Разметка]
 
from @LogTable
group by date_start, IdStanok,	  name_stan


29 мар 19, 19:13    [21847541]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20484
_ZiP_
Это все одна запись нужно все что нул убрать и вывести одной записью дата ид имя цикл наладка вставка с заполнеными значениями
Ты не понял. Что если будет 2 записи, где, скажем, самое последнее поле не NULL? ну, скажем, если задвоить самую первую запись в образце данных...
Только не надо говорить, что "этого не может быть" - раз структура позволяет, то может (более того - обязательно будет), пусть даже из-за сбоя или ошибки.
29 мар 19, 19:34    [21847552]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
_ZiP_
Member

Откуда:
Сообщений: 60
Akina
_ZiP_
Это все одна запись нужно все что нул убрать и вывести одной записью дата ид имя цикл наладка вставка с заполнеными значениями
Ты не понял. Что если будет 2 записи, где, скажем, самое последнее поле не NULL? ну, скажем, если задвоить самую первую запись в образце данных...
Только не надо говорить, что "этого не может быть" - раз структура позволяет, то может (более того - обязательно будет), пусть даже из-за сбоя или ошибки.


Я тебя понял! Но этого точно не может быть ) Это принцип работы системы. По одной и тойже колонке и и одному идентификатору за этот период все гда только одна запись.
29 мар 19, 22:35    [21847622]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
_ZiP_
Member

Откуда:
Сообщений: 60
iiyama
+

declare @LogTable table(date_start	date, IdStanok int,	  name_stan	nvarchar(50), Цикл decimal(19,6),  Наладка decimal(19,6), [Выставка/Разметка] decimal(19,6))

insert into @LogTable values
 ('20190201', 	48,	N'FA-C221 поз. 51-5',	215.189929,	NULL,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	5.409980,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,107.815023)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,NULL)
,('20190201', 	48,	N'FA-C221 поз. 51-5',	NULL,	NULL,NULL)


select date_start, IdStanok,	  name_stan
	, MAX(Цикл) AS Цикл
	, MAX(Наладка) as Наладка
	, MAX([Выставка/Разметка] ) as [Выставка/Разметка]
 
from @LogTable
group by date_start, IdStanok,	  name_stan




О то что надо. Спасибо дружище
29 мар 19, 22:38    [21847623]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
Владислав Колосов
Member

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

а как же
автор
Не сгруперуется
?
29 мар 19, 23:00    [21847632]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
_ZiP_
Member

Откуда:
Сообщений: 60
Владислав Колосов
_ZiP_,

а как же
автор
Не сгруперуется
?


Скакой целью интересуешься или так поумничать
30 мар 19, 10:18    [21847723]     Ответить | Цитировать Сообщить модератору
 Re: Запрос  [new]
_ZiP_
Member

Откуда:
Сообщений: 60
Владислав Колосов,

Просто групировка не отрабатывается без Max
30 мар 19, 10:20    [21847724]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить