UNRESOLVED_COLUMN 오류 클래스
이름이 <objectName>
있는 열, 변수 또는 루틴 매개 변수는 확인할 수 없습니다.
이 오류 클래스에는 다음과 같은 파생된 오류 클래스가 있습니다.
WITHOUT_SUGGESTION
매개 변수
- objectName: 확인할 수 없는 열 또는 매개 변수의 이름입니다.
WITH_SUGGESTION
다음 중 하나를 원하셨나요? [<proposal>
]
매개 변수
- objectName: 확인할 수 없는 열 또는 매개 변수의 이름입니다.
- 제안: 쉼표로 구분된 잠재적 후보 목록입니다.
설명
Azure Databricks는 열, 열 별칭 또는 함수 매개 변수가 필요한 컨텍스트에서 식별자를 식별할 수 없을 때마다 이 오류를 발생시킵니다.
이 오류의 원인은 여러 가지가 있습니다.
- 열 이름 또는 매개 변수 이름에 맞춤법 오류가 있는 경우
- 실제로 식별자가 아니라 문자열 리터럴을 지정하려고 한 경우
- 열 이름이 변경되었거나 ALTER TABLE을 사용하여 삭제된 경우
- 하위 쿼리의 선택 목록에 열이 포함되지 않은 경우
- 테이블 별칭 또는 열 별칭을 사용하여 열 이름이 변경된 경우
- 열 참조가 상호 관련되어 있으며 LATERAL을 지정하지 않은 경우
- 열 참조가 동일한 선택 목록이나 스칼라 하위 쿼리에서 이전에 나타나기 때문에 표시되지 않는 개체에 대한 것인 경우
완화 방법
원인에 따라 오류의 완화 방법이 다릅니다.
이름과 한정자의 맞춤법이 정확하지 않나요?
objectList
에 제공된 열과 비교하고 맞춤법을 수정합니다.대신 문자열 리터럴을 지정하려고 하나요?
리터럴을 작은따옴표로 묶고 백틱(악센트 억음)을 사용하지 마세요.
하위 쿼리에서 열이 생략되었나요?
하위 쿼리의 선택 목록에 열을 추가합니다.
동일한 from 절에 있는 이전 관계의 열을 참조하고 있나요?
해결되지 않은 열이 있는 하위 쿼리 앞에
LATERAL
키워드를 추가합니다. 상호 관련된 쿼리 지원은 제한됩니다. 쿼리를 다시 작성(상호 관련성 해제)해야 할 수도 있습니다.열 또는 필드를 확인할 수 없는 이유는 명확하지 않습니다.
이름 확인에 대한 자세한 설명은 열, 필드, 매개 변수 및 변수 해상도를 참조하세요.
예제
> CREATE OR REPLACE TEMPORARY VIEW colors(cyan, magenta, yellow) AS VALUES(10, 20, 5);
-- The column reference has been misspelled
> SELECT jello FROM colors;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `jello` cannot be resolved.
Did you mean one of the following? [`colors`.`cyan`, `colors`.`yellow`, `colors`.`magenta`]
-- Correct the spelling
> SELECT yellow FROM colors;
5
-- The qualifier has been misspelled
> SELECT color.yellow FROM colors;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `color`.`yellow` cannot be resolved.
Did you mean one of the following? [`colors`.`cyan`, `colors`.`yellow`, `colors`.`magenta`]
-- Correct the spelling
> SELECT colors.yellow FROM colors;
5
-- Forgot to quote a literal
> SELECT hello;
[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column or function parameter with name `hello` cannot be resolved.
-- Use single quotes
> SELECT 'hello';
-- Used the wrong quotes for a literal
> SELECT `hello`;
[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column or function parameter with name `hello` cannot be resolved.
-- Use single quotes instead
> SELECT 'hello';
-- Column "got lost" in a subquery.
> SELECT cyan, magenta, yellow
FROM (SELECT cyan, magenta
FROM colors) AS c;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `yellow` cannot be resolved.
Did you mean one of the following? [`c`.`cyan`, `c`.`magenta`]
-- Add the missing column
> SELECT cyan, magenta, yellow
FROM (SELECT cyan, magenta, yellow
FROM colors) AS c;
10 20 5
-- Columns got renamed in the table alias
> SELECT cyan, magenta, yellow
FROM (SELECT cyan, magenta, yellow
FROM colors) AS c(c, m, y);
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `cyan` cannot be resolved.
Did you mean one of the following? [`c`.`c`, `c`.`m`, `c`.`y`];
-- Adjust the names
> SELECT c, m, y
FROM (SELECT cyan, magenta, yellow
FROM colors) AS c(c, m, y);
10 20 5
-- A correlated reference
> SELECT * FROM colors, (SELECT cyan + magenta + yellow AS total_use);
[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column or function parameter with name `cyan` cannot be resolved.
-- Add LATERAL to permit correation
> SELECT * FROM colors, LATERAL(SELECT cyan + magenta + yellow AS total_use);
10 20 5 35
-- Or de-correlate
> SELECT *, cyan + magenta + yellow AS total_use FROM colors;
10 20 5 35
-- A misspelled parameter name
> CREATE OR REPLACE FUNCTION plus(a INT, b INT) RETURNS INT RETURN arg1 + arg2;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `arg1` cannot be resolved.
Did you mean one of the following? [`plus`.`a`, `plus`.`b`]
-- Fix the names
> CREATE OR REPLACE FUNCTION plus(a INT, b INT) RETURNS INT RETURN a + b;
> SELECT plus(1, 2);
3