У меня есть данные этой таблицы:сочетающие строки в результате
+-ID-+-sensorID-+----date---+-value-+
| 1 | 1 |'some date'| 20 |
| 2 | 1 |'some date'| 15 |
| 3 | 1 |'some date'| 18 |
| 4 | 2 |'some date'| 40 |
| 5 | 2 |'some date'| 68 |
| 6 | 2 |'some date'| 55 |
Теперь я хочу, чтобы создать массив, как это в PHP:
date - value sensorID(1) - value sensorID(2)
мне нужно что-то, чтобы показать, когда дата имеет одно значение датчика:
[date] => 01-01-2014 [value] => 50 [value] => 60
[date] => 02-01-2014 [value] => 20 [value] => 30
[date] => 03-01-2014 [value] => null [value] => 55
[date] => 04-01-2014 [value] => 20 [value] => 33
Как я могу сделать это эффективно в несколько простых шагов? В противном случае я бы просто создал результат для ID 1 и ID 2 или дважды выполнил свою функцию в полном массиве.
я предполагаю, что вы используете 'ID' как' датчика ID 'if then then используйте' Join' в вашем запросе для 'Join' этой таблицы с самим собой и сохраните результаты в массиве –
@NaveedYousaf 'ID' является первичным ключом самого сенсора данных sensorID - это связанный идентификатор с датчиком в моем DB. Так что я могу присоединиться к таблице сам по себе? Также мне нужно что-то вроде «null» для значения, если значение отсутствует в определенную дату для «sensorID». – Madmenyo
Просто 'SELECT *' и заполнить массив в php: 'foreach $ row, $ result [$ row ['date']] [$ row ['sensorID']] = $ row ['value']' – georg