Параметр внутри sql запрос where - PullRequest
0 голосов
/ 01 мая 2020

Я выполню запрос, подобный этому

SELECT * FROM table1
WHERE datasource_detail = '{"datasource_detail":[{"db_name":"database_temp","port":"3306","db_username":"root","host":"localhost","tab1":"table1","tab2":"table2"}]}'

, но есть необходимость получить параметр

Я пробую это, но не сработал

SELECT * FROM table1
WHERE datasource_detail = '{"datasource_detail":[{"db_name":"database_temp","port":"3306","db_username":"root","host":"localhost","tab1":"'${tab1}'","tab2":"'${tab2}'"}]}'

кто-нибудь, помогите мне, пожалуйста?

о, я запускаю этот запрос в интеграции данных Пентахо: входная таблица

1 Ответ

0 голосов
/ 01 мая 2020

Я предлагаю вам попытаться поместить сравниваемое значение в @ Variable

Declare @Compared_Value nvarchar(500);
Set @Compared_Value = '{"datasource_detail":[{"db_name":"database_temp","port":"3306","db_username":"root","host":"localhost","tab1":"'${tab1}'","tab2":"'${tab2}'"}]}'

SELECT * FROM table1
WHERE datasource_detail = @Compared_Value

. В случае, если часть вашего сравниваемого значения является Dynami c, вы должны построить сравниваемое значение с CONCAT. -составление @Compared_Value = CONCATE (часть 1, часть 2, ...)

...