MySQL DB에서 실행될 Report Builder 3.0에서 SQL 쿼리를 작성해야합니다. 또한이 쿼리에 3 개의 매개 변수를 전달하며 이러한 매개 변수 중 하나는 열 이름이됩니다. 이 같은 쿼리 구조 : 나는 쿼리 디자이너에서이 쓸 수있는 방법 :보고서 작성기 3.0에서 작동하도록 MySQL 쿼리를 수정하려면 어떻게합니까?
SET @var_1 = 'string1';
SET @var_2 = 'string2';
SET @columnName = 'string3';
SET @sql = CONCAT('SELECT
column1
,column21
,column15
,column6
,column9
,column2
,column19
FROM
table_name
WHERE
column1 LIKE @var_1
AND column21 LIKE @var_2
AND (', @columnName ,' is null OR ', @columnName ,' = \'\' OR ', @columnName ,' = \'N/A\' OR ', @columnName ,' = \'Unknown\')');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
하지만 내 질문은 :
SELECT
column1
,column21
,column15
,column6
,column9
,column2
,column19
FROM
table_name
WHERE
column1 LIKE @var_1 [email protected]_1 is a string
AND column21 LIKE @var_2 [email protected]_1 is a string
AND (@column is null OR @column = '' OR @column = 'N/A' OR @column = 'Unknown');--value in @column is an existing column name from table table_name
나는 내가 원하는 것을와 MySQL 워크 벤치에서 작동하는 SQL을 보고서 작성기 3.0의? 나는 보고서 작성기에서 다음과 같은 SQL과 같은 무언가를 시도하며 작업 쿼리와 같은 라인에 변화를이다 :
SET @SQL = CONCAT('SELECT
column1
,column21
,column15
,column6
,column9
,column2
,column19
FROM
table_name
WHERE
column1 LIKE ''%' + @var_1 + '%''
AND column21 LIKE ''%' + @var_2 + '%''
AND (', @column ,' is null OR ', @column ,' = \'\' OR ', @column ,' = \'N/A\' OR ', @column ,' = \'Unknown\')');
PREPARE stmt FROM @SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
하지만 점점 오류가 계속 : 나는 올바른으로이 SQL을 쓸 수있는 방법
An error occurred while executing the query.
ERROR [42000] [MySQL][ODBC 5.3(w) Driver][mysqld-5.1.73]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PREPARE stmt FROM @SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt' at line 3 (Microsoft SQL Server Report Builder)
을 구문을 사용하여 보고서 작성기에서 작동합니까?
당신이 그것을 실행하는 데 사용하는 도구에 관계없이 올바른 SQL 구문이되도록 작성해야합니다. 첫 번째 단서 : CONCAT 함수에서()를 닫지 마십시오. –
감사합니다. 알 수없는 뒤에 닫는 괄호를 추가했습니다. 또한 MySQL 작업대에서 실행할 때 예상대로 데이터를 가져 오는 작업 SQL을 추가했습니다. 그러나 보고서 작성기의 쿼리 디자이너에서 같은 쿼리를 실행하면 '@ var_1' 및'@ var_2 '에 대한 프롬프트가 표시되지 않으므로 쿼리를 업데이트하여 세 가지 변수에 대한 프롬프트를 표시해야합니다. 이 모든 후 보고서 작성기에서 시도 할 때 쿼리가 여전히 동일한 오류를 제공합니다. – 300
업데이트 된 코드로 __ 귀하의 답변 __을 (를) 편집하십시오. 또한 준비하기 전에 @SQL에 포함 된 내용을 확인하려고 할 수도 있습니다. 보다 구체적인 오류 메시지가 있는지 보려면 자체적으로 실행 해보십시오. –