Имя: Пароль:
1C
1С v8
Передача временной таблицы в OPENQUERY
,
0 newbling
 
17.12.18
12:34
Добрый день. Не уверен, что раздел выбран верно, но в любом случае, может народ знает.

Есть некий текст запроса, который формирует OPENQUERY запрос из MySQL базы в PostgreSQL. Краткая суть в том, что мы достаём из постгрешной базы данные по значениям температурных датчиков и используем эти данные дальше в Микрософт скульной базе. Вот запрос:

OPENQUERY(POSTGRESQLGPS, ''
SELECT DISTINCT
Sn.imei_name,
Sn.point_time AT TIME ZONE ''''UTC'''' as point_time,
Sn.sen_value AS sen_value
FROM main.device_sensors AS Sn
INNER JOIN main.devices AS Dev
ON Sn.imei_name = Dev.imei_name
AND point_time AT TIME ZONE ''''UTC'''' > '''''+@Max_Date_Str+''''' AND point_time AT TIME ZONE ''''UTC'''' < '''''+@GetDat+''''')

Проблема в том, что Max_Date_Str и GetDat изначально планировалось, что будут однозначно задаваться и этого хватит, но в итоге оказалось, что нужно для каждого прибора получать свою дату. Дата хранится в микрософтовской базе, соответственно, получить мы её можем и с помощью CREATE TABLE создать временную таблицу, а вот как её через OPENQUERY передать? Может есть какие методы? А то пока всё, что в голову приходит это в цикле плодить условия на однозначные отборы:
(прибор = прибор1 и время = время1) ИЛИ
(прибор = прибор2 и время = время2)

Но это как-то убого и хз как долго будет отрабатывать, там тысячи этих приборов.