Я не очень разбираюсь в SQL, и у меня есть задача с довольно сложным вариантом использования.Я переносу информацию из старого формата базы данных в новый, более легко дешифруемый формат, полученный из домена.
У меня есть таблица в старой базе данных, которую я должен проанализировать следующим образом:
Первая строка в таблице ниже показывает, когда система переходит в состояние.Вторая строка показывает, когда введенное состояние покинуло и перешло в другое.Тип состояния указывается в столбце состояния.
+--------------------------------------+-------------------------+-------------------+-------------+------+-------+
| uuid | timestamp | mac | trans_count | type | state |
+--------------------------------------+-------------------------+-------------------+-------------+------+-------+
| 66278266-9727-4d2c-be3f-5a84504bfb90 | 2011-09-26 08:52:57:000 | 00:60:e0:4e:5d:91 | 1 | 0 | 1 |
| 31ff112c-f11b-41c3-b5c2-08ea9e84415a | 2011-09-26 08:53:06:000 | 00:60:e0:4e:5d:91 | 2 | 0 | 0 |
| 88d671c8-8ff7-4bf3-9e58-c7ced815c454 | 2011-09-26 08:53:57:000 | 00:60:e0:4e:5d:91 | 3 | 1 | 1 |
+--------------------------------------+-------------------------+-------------------+-------------+------+-------+
Итак, что я хочу достичь программным способом, это то, что эти три строки должны быть объединены в две:
+--------------------------------------+--------------------------+----------------------------+------+------------+
| uuid | enter | exit | mode | state |
+--------------------------------------+--------------------------+----------------------------+------+------------+
| 09570915-d846-48db-ba87-e36c544383bb | 2011-09-26 08:52:57:000 | 2011-09-26 08:53:06:000 | SCO | INITIATION |
| 2a472124-8ccb-46a4-9f84-cfcdf23a13d7 | 2011-09-26 08:53:06:000 | 2011-09-26 08:53:57:000 | | SCO | CLOSED |
+--------------------------------------+--------------------------+----------------------------+------+------------+
первая строка в таблице выше имеет время ввода первой строки в первой таблице и время выхода второй строки в первой таблице.Вторая строка в новой таблице имеет время ввода второй строки в первой таблице и время выхода третьей строки.
Тип исостояния в первой таблице являются просто порядковыми номерами, которые я перевел в строковое представление, чтобы иметь возможность читать из базы данных более простым способом.
Я хотел бы просто указать на то, какие методы можно использовать,Я не могу дотронуться до исходной таблицы, но могу создать новые таблицы, чтобы отслеживать, что я уже обработал в той же базе данных.
Возможно получить набор результатов и ссылаться на следующие / предыдущие элементы в нем?Какой будет рекомендуемый подход?