Я использую операцию Lookup, которая возвращает скалярный результат, и я хочу использовать этот результат для построения динамического запроса с использованием выражения concat.Тем не менее, я получаю сообщение об ошибке, что мой SQL-запрос плохо отформатирован.Вот как я строю запрос:
@concat('SELECT v.CscadaEventId as EventId,
v.EndDate as EndDateUtc
FROM v_cscadaevents v
INNER JOIN cscadaevents e
ON e.cscadaeventId = v.CscadaEventId
WHERE v.CscadaEventId IN(', activity('LookupUnfinishedAlarms').output.firstRow, ') AND e.EndDate IS NOT NULL;')
Я ожидаю, что для возврата запроса, как этот:
SELECT v.CscadaEventId as EventId,
v.EndDate as EndDateUtc
FROM v_cscadaevents v
INNER JOIN cscadaevents e
ON e.cscadaeventId = v.CscadaEventId WHERE v.CscadaEventId IN(2329390,2340616,2342078,2345857,2361240,2362088,2362574,2377062,2378594,2379357) AND e.EndDate IS NOT NULL;
Я видел несколько примеров, когда поиск возвращает несколько столбцов,и правильное выражение - activity('LookupUnfinishedAlarms').output.firstRow.myColumnName
, но как насчет того, когда операция поиска возвращает скалярное значение, как в моем случае?
Пока это полная ошибка:
У вас естьошибка в вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с '\ "output \": \ "2329390,2340616,2342078,2345857,2361240,2362088,2362574,2377062,237859' в строке 6, Source =Microsoft.DataTransfer.Runtime.GenericOdbcConnectors, '' Type = System.Data.Odbc.OdbcException, Message = ERROR [42000] [Microsoft] [MariaDB] У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее вашему серверу MariaDBверсия для правильного синтаксиса для использования рядом с '\ "output \": \ "2329390,2340616,2342078,2345857,2361240,2362088,2362574,2377062,237859' в строке 6, Source = MariaDBODBC_sb64.dll