Страница 1 из 1

SQL

Добавлено: Ср окт 22, 2014 3:24 pm
PAV
Ничего не пойму, полез в pvalues и вижу такую картину.
Ощущение, что все создаваемые свойства не имеют своего имени в базе (property name).
Как так?

Re: SQL

Добавлено: Ср окт 22, 2014 4:06 pm
sergejey
Это поле необязательно должно быть заполненным сразу, т.к. используется только для быстрого доступа к значениям. Система сама его заполнинит по мере использования.

Re: SQL

Добавлено: Ср окт 22, 2014 5:04 pm
PAV
Если я SQL запрашиваю по значению sensorMovementSUM.status, например, он отдаст мне значения? Как он определит, что именно к нужному ID обращаюсь.
Это в продолжение темы http://smartliving.ru/forum/viewtopic.p ... 120#p13776

Re: SQL

Добавлено: Чт окт 23, 2014 10:38 am
sergejey
PAV писал(а):Если я SQL запрашиваю по значению sensorMovementSUM.status, например, он отдаст мне значения? Как он определит, что именно к нужному ID обращаюсь.
Это в продолжение темы http://smartliving.ru/forum/viewtopic.p ... 120#p13776
Нет, не отдаст. Точнее, может отдать, а может и не отдать -- в зависимости от того установлено ли полное имя переменной. Почему бы не подсмотреть как сделано в pChart?

Вот пример вытягивания данных за последние 5 часов:

Код: Выделить всё

$p='sensorMovementSUM.status'

$end_time=time();
$total=5; // 5 часов
$start_time=$end_time-$total*60*60;

if ($p!='') {
        if (preg_match('/(.+)\.(.+)/is', $p, $m)) {
                $obj=getObject($m[1]);
                $prop_id=$obj->getPropertyByName($m[2], $obj->class_id, $obj->id);
        }
}

$pvalue=SQLSelectOne("SELECT * FROM pvalues WHERE PROPERTY_ID='".$prop_id."' AND OBJECT_ID='".$obj->id."'");

$history=SQLSelect("SELECT ID, VALUE, ADDED FROM phistory WHERE VALUE_ID='".$pvalue['ID']."' AND ADDED>=('".date('Y-m-d H:i:s', $start_time)."') AND ADDED<=('".date('Y-m-d H:i:s', $end_time)."') ORDER BY ADDED"); // данные 

Re: SQL

Добавлено: Ср авг 31, 2016 6:44 pm
ivanov.simatic
Добрый день. Столкнулся с проблемой похожей как у автора первого сообщения.
Т.е. если я добавляю новое свойство объекта, то оно добавляется в БД без PROPERTY_NAME, хотя раньше такого не было.
Получается что не удобно делать выборку из БД.
Подскажите кто сталкивался с подобной проблемой