programing

Excel: SQL 쿼리에 대한 매개 변수로 셀 값 사용

megabox 2023. 5. 24. 21:51
반응형

Excel: SQL 쿼리에 대한 매개 변수로 셀 값 사용

MS Excel을 사용하여 ODBC를 통해 MySQL 데이터베이스에서 데이터를 가져옵니다.
SQL 쿼리를 사용하여 데이터를 성공적으로 가져옵니다.하지만 이제 저는 그 쿼리를 매개 변수화하기를 원합니다.
그래서 저는 셀 값(스프레드시트 셀)을 이러한 쿼리의 파라미터로 사용할 수 있는지 궁금합니다.
예를 들어, 이 쿼리의 경우:

select name from user where id=1

스프레드시트의 D4 셀에서 ID 값을 얻고 싶습니다.

그것이 쿼리를 매개 변수화하는 적절한 접근 방식입니까? 그리고 어떻게 해야 합니까?

감사해요.

나도 너와 같은 문제가 있었어, 노보비는 나를 이해할 수 없지만, 나는 이렇게 해결했어요.

SELECT NAME, TELEFONE, DATA
FROM   [sheet1$a1:q633]
WHERE  NAME IN (SELECT * FROM  [sheet2$a1:a2])

다른 시트에 매개 변수를 삽입해야 합니다. SQL이 해당 정보를 데이터베이스로 간주합니다. 그러면 정보를 선택하고 원하는 매개 변수로 비교할 수 있습니다.

Microsoft 쿼리를 사용하는 경우 쿼리에 "?"를 추가할 수 있습니다.

ID= 사용자에서 이름을 선택합니다.

Excel로 돌아갈 때 셀/데이터/등을 묻는 작은 창이 나타납니다.

팝업 창에서 "항상 이 셀을 매개변수로 사용"을 선택하면 데이터를 새로 고칠 때마다 셀을 정의할 필요가 없습니다.이것이 가장 쉬운 옵션입니다.

queryString = "SELECT name FROM user WHERE id=" & Worksheets("Sheet1").Range("D4").Value

SQL은 MS SQL의 구문과 다소 유사합니다.

SELECT * FROM [table$] WHERE *;

테이블 이름이 $ 기호로 끝나고 전체가 괄호 안에 들어가는 것이 중요합니다.조건으로 어떤 값이든 사용할 수 있지만, 지금까지 Excel은 제가 "SQL 아포스트로피"(')라고 부르는 것을 사용하는 것을 허용하지 않았기 때문에 한 단어의 열 제목을 사용하는 것이 좋습니다.

사용자가 "사용자"라는 표에 나열되어 있고 ID가 "id"라는 열에 있고 이름이 "Name"이라는 열에 있는 경우 쿼리는 다음과 같습니다.

SELECT Name FROM [Users$] WHERE id = 1;

이게 도움이 되길 바랍니다.

언급URL : https://stackoverflow.com/questions/1285686/excel-use-a-cell-value-as-a-parameter-for-a-sql-query

반응형