Я хочу объединить строки на Внутри и Местоположение база. Я хочу проверить, сколько времени остается в определенном месте. Внутри среднее транспортное средство вводится в определенном месте и означает, что вы покинули определенное место. Если автомобиль вводит и покидает такое же место в определенную дату, то TimeLast будет рассчитать. например HD и BP - это место, где транспортные средства входят и уходят.Как динамически объединить строки в базе состояния
select zs.oId,o.Number,z.Id,z.Location,zs.TimeFirst,zs.inside from zs join
z on zs.Id = z.Id join
o on zs.oId=o.oId
where z.GroupId in (1094,1095,1096) and CONVERT(Date,TimeFirst)='2016/5/29'
order by zs.oId,zs.TimeFirst
Выход
oId Number Id Location TimeFirst Inside
1639 0664 1 Hd 2016-05-29 05:48 0
1639 0664 2 Kp 2016-05-29 18:46 1
1640 0359 1 Hd 2016-05-29 13:12 0
1640 0359 1 Hd 2016-05-29 13:42 1
1640 0359 1 Hd 2016-05-29 13:46 0
1643 0812 3 Lr 2016-05-29 11:41 0
1644 0806 4 Mn 2016-05-29 06:56 0
1644 0806 5 Bp 2016-05-29 09:54 1
1644 0806 5 Bp 2016-05-29 17:43 0
Ожидаемый результат
oId Number Id Location TimeFirst TimeLast
1639 0664 1 Hd 2016-05-29 05:48
1639 0664 2 Kp 2016-05-29 18:46
1640 0359 1 Hd 2016-05-29 13:12
1640 0359 1 Hd 2016-05-29 13:42 2016-05-29 13:46
1643 0812 3 Lr 2016-05-29 11:41
1644 0806 4 Mn 2016-05-29 06:56
1644 0806 5 Bp 2016-05-29 09:54 2016-05-29 17:43
Почему вы отмечаете две версии SQL Server? Кроме того, какова логика, по которой вы ожидаете, что TimeLast будет заполнен? Что делать, если у вас есть строки с 3 x статусом 0 и 3 x статус 1 для тех же 'id' и' name'? Является ли 'Number' функционально зависимым от' id'? – trincot
@ вопрос про вопрос. Я использую Sql Server 12. Внутри указывается, что вы вводите в определенное местоположение или влево. – Doe
Просьба предоставить определение ваших таблиц, первичных ключей, внешних ключей, предпочтительно операторов 'CREATE TABLE'. Я не понимаю, когда вы хотите иметь дату в столбце «Время» и когда вы хотите ее в столбце «Timelast». Пожалуйста, объясните в вопросе. – trincot