Я запускаю программу nodejs, которая выполняет параметризованный запрос выбора. У меня есть следующие параметры, которые я передаю в запрос
- Id
- Имя
В моей таблице id - это поле цифры c тогда как имя является строкой. Теперь, хотя массив имен в параметризованном запросе состоит из строковых значений, в конечном итоге генерируемый запрос не имеет имен в виде строки, и, следовательно, запрос не выполняется. Если я удаляю имя из запроса и запускаю его только с идентификатором, это работает. Вот как выглядит мой запрос.
ids = [1,2,3,4,5,6]
names = ["john", "rocky", "sam", "alice"]
const sqlQuery = 'SELECT * FROM `table_name_here` WHERE id IN UNNEST ([' + Ids + ']) AND name IN UNNEST ([' + Names + '])';
**final generated query that runs on bigquery**
SELECT * FROM `jenkins_notifications.prod_notifications_build` WHERE id IN UNNEST ([1,2,3,4,5,6]) AND name IN UNNEST ([john, rocky, sam, alice])
The final query should be like
SELECT * FROM `jenkins_notifications.prod_notifications_build` WHERE id IN UNNEST ([1,2,3,4,5,6]) AND name IN UNNEST (["john", "rocky", "sam", "alice"])