|
Вопрос про повторяющиеся записи
|
|||
---|---|---|---|
#18+
USE worktime DECLARE @from datetime DECLARE @to datetime DECLARE @CheckNumber datetime SELECT @from='2016-06-22 00:00:01.000',@to='2016-06-22 23:59:59.000',@CheckNumber=215 SELECT distinct p.[Name], me.EventTime , me.CheckNumber , me.TabelNumber , case when cc.isOut=0 THEN 'Вход' ELSE 'Выход'END, cp.NameCheckPoint, is1.[Description] FROM _MoveEvent me WITH (NOLOCK) INNER JOIN _Person p WITH (NOLOCK) ON p.TabelNumber=me.TabelNumber INNER JOIN _Regulation r WITH (NOLOCK) ON r.UIDStaff=p.UIDStaff and r.StartDate<=@from INNER JOIN _CheckPointContent cc WITH (NOLOCK) ON me.CheckNumber=cc.NumberCheck INNER JOIN _CheckPoint cp WITH (NOLOCK) ON cc.IDCheckPoint=cp.ID INNER JOIN _GroupPointContent gpc WITH (NOLOCK) ON gpc.NameCheckPoint=cp.NameCheckPoint INNER JOIN _InterbaseSource is1 WITH (NOLOCK) ON cp.IDInterbaseSource=is1.ID AND me.IDInterbaseSource=is1.id WHERE me.EventTime BETWEEN @from AND @to --AND me.CheckNumber in (9, 18, 19, 20, 31, 42, 53, 64, 75, 79, 86, 92, 97, 105, 118, 131, 144, 164, 177, 270, 278, 281, 289, 313, 314, 324, 331, 342, 360, 371, 412, 423, 440, 465, 468, 476, 633, 644, 681, 692, 703, 816, 827, 1059, 1070, 1332, 1438, 1449, 1489, 1500, 1636, 1647, 1677, 1688, 1795, 1806, 1817, 1828, 1839, 1850, 1861, 1973, 1988, 1999, 2066, 2077, 2087, 2091, 2098, 2102, 2119, 2130, 2141, 2152, 2234, 2289, 2300, 2355, 2366, 2471, 2482, 2498, 2773, 2784, 3028, 3039, 3076, 3087, 3190, 3201, 3375, 3397, 3664, 3675, 3827, 4148, 4159, 4253, 4264, 4276, 4287, 4298, 4309, 4320, 4331, 4342, 4353, 4364, 4375, 4386, 4397, 4408, 4419, 4420, 4430, 4431, 4441, 4452, 4463, 4474, 4485, 4496, 4507, 4518, 4529, 4562, 4573, 4584, 4595, 4606, 4617, 4628, 4639, 4672, 4694, 4716, 4727, 4738, 4749, 4705, 4683, 4782, 4793, 5676, 5687, 5698, 5709, 5720, 5731, 5742, 5753, 7859, 7826, 7837, 9785, 9796, 10317, 10328, 10374, 10385, 10894, 10905, 12507, 12518, 13024, 13035, 13046, 13057) --AND me.CheckNumber in (5817) --AND p.[Path] LIKE '\ВВ\%' and me.TabelNumber in (1020576) Такой вопрос как сделать так чтобы Вход был в одной колонке а Выход в другой Такой еще вопрос как сделать чтобы в списке был только первый вход и последний выход сотрудника за день, а не все его движения за целый день ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2016, 13:16 |
|
Вопрос про повторяющиеся записи
|
|||
---|---|---|---|
#18+
rust1983USE worktime DECLARE @from datetime DECLARE @to datetime DECLARE @CheckNumber datetime SELECT @from='2016-06-22 00:00:01.000',@to='2016-06-22 23:59:59.000',@CheckNumber=215 SELECT distinct p.[Name], me.EventTime , me.CheckNumber , me.TabelNumber , case when cc.isOut=0 THEN 'Вход' ELSE 'Выход'END, cp.NameCheckPoint, is1.[Description] FROM _MoveEvent me WITH (NOLOCK) INNER JOIN _Person p WITH (NOLOCK) ON p.TabelNumber=me.TabelNumber INNER JOIN _Regulation r WITH (NOLOCK) ON r.UIDStaff=p.UIDStaff and r.StartDate<=@from INNER JOIN _CheckPointContent cc WITH (NOLOCK) ON me.CheckNumber=cc.NumberCheck INNER JOIN _CheckPoint cp WITH (NOLOCK) ON cc.IDCheckPoint=cp.ID INNER JOIN _GroupPointContent gpc WITH (NOLOCK) ON gpc.NameCheckPoint=cp.NameCheckPoint INNER JOIN _InterbaseSource is1 WITH (NOLOCK) ON cp.IDInterbaseSource=is1.ID AND me.IDInterbaseSource=is1.id WHERE me.EventTime BETWEEN @from AND @to --AND me.CheckNumber in (9, 18, 19, 20, 31, 42, 53, 64, 75, 79, 86, 92, 97, 105, 118, 131, 144, 164, 177, 270, 278, 281, 289, 313, 314, 324, 331, 342, 360, 371, 412, 423, 440, 465, 468, 476, 633, 644, 681, 692, 703, 816, 827, 1059, 1070, 1332, 1438, 1449, 1489, 1500, 1636, 1647, 1677, 1688, 1795, 1806, 1817, 1828, 1839, 1850, 1861, 1973, 1988, 1999, 2066, 2077, 2087, 2091, 2098, 2102, 2119, 2130, 2141, 2152, 2234, 2289, 2300, 2355, 2366, 2471, 2482, 2498, 2773, 2784, 3028, 3039, 3076, 3087, 3190, 3201, 3375, 3397, 3664, 3675, 3827, 4148, 4159, 4253, 4264, 4276, 4287, 4298, 4309, 4320, 4331, 4342, 4353, 4364, 4375, 4386, 4397, 4408, 4419, 4420, 4430, 4431, 4441, 4452, 4463, 4474, 4485, 4496, 4507, 4518, 4529, 4562, 4573, 4584, 4595, 4606, 4617, 4628, 4639, 4672, 4694, 4716, 4727, 4738, 4749, 4705, 4683, 4782, 4793, 5676, 5687, 5698, 5709, 5720, 5731, 5742, 5753, 7859, 7826, 7837, 9785, 9796, 10317, 10328, 10374, 10385, 10894, 10905, 12507, 12518, 13024, 13035, 13046, 13057) --AND me.CheckNumber in (5817) --AND p.[Path] LIKE '\ВВ\%' and me.TabelNumber in (1020576) Такой вопрос как сделать так чтобы Вход был в одной колонке а Выход в другой Такой еще вопрос как сделать чтобы в списке был только первый вход и последний выход сотрудника за день, а не все его движения за целый день Да что вы привезались к SQL запросам. Ну не могут они делать некоторые вещи (разве только через одно место) Создайте Рекорд сет, а там творите что угодно. Чё вы привезались к SQL ну не может он делать некоторые вещи. И вообще имея "толстого клиента" лучьше делать на нем. Уже замучали своими SQL портянками. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2016, 13:28 |
|
|
start [/forum/topic.php?fid=45&fpage=100&tid=1613426]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 173ms |
0 / 0 |