Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сложный запрос / 5 сообщений из 5, страница 1 из 1
03.07.2018, 11:30
    #39668681
jonybest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный запрос
Доброго дня!
Условие - в таблица содержит записи графика работы сотрудников по принципу
Код: sql
1.
2.
3.
name          smena      1    2   3   4   5   6
Иванов        день       5    5   В   5   5   5
Иванов        ночь       2    2   В   2   2   2



нужно запросом получить данные по Иванову за день и за ночь -

Код: sql
1.
2.
Name   1d 1n 2d 2n 3d 3n
Иванов 5  2   5  2  В  В





Подскажите правильное направление
...
Рейтинг: 0 / 0
03.07.2018, 11:45
    #39668694
Ivan Durak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный запрос
case + group by
...
Рейтинг: 0 / 0
03.07.2018, 11:50
    #39668695
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный запрос
Код: sql
1.
2.
3.
4.
5.
select * from
	(select * from T where smena='день') a
full join 
	(select * from T where smena='ночь') b
on a.Name=b.Name
...
Рейтинг: 0 / 0
03.07.2018, 11:55
    #39668697
Kopelly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
declare @t table (
name varchar(10),
smena varchar(10),
[1] varchar(1),
[2] varchar(1),
[3] varchar(1),
[4] varchar(1),
[5] varchar(1),
[6] varchar(1)
) 

insert into @t 
Values
('Иванов','день', '5','5','В','5','5','5'),
('Иванов','ночь', '2','2','В','2','2','2'),
('Петров','день', '5','В','5','5','5','5'),
('Петров','ночь', '2','В','2','2','2','2');


With UnP as (
Select name,Work,N_Day+smena as N_Day_smena From @t
 UNPIVOT (Work for N_Day in ([1],[2],[3],[4],[5],[6])) as u)
Select * 
From UnP
Pivot (max(Work) For N_Day_smena in ([1день],[1ночь],
                                     [2день],[2ночь],
									 [3день],[3ночь],
									 [4день],[4ночь],
									 [5день],[5ночь],
									 [6день],[6ночь])) p 
...
Рейтинг: 0 / 0
03.07.2018, 12:05
    #39668703
jonybest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сложный запрос
court
Код: sql
1.
2.
3.
4.
5.
select * from
	(select * from T where smena='день') a
full join 
	(select * from T where smena='ночь') b
on a.Name=b.Name



Спасибо! Как раз то что я искал
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сложный запрос / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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