MySQL에서 "Every derived table must airas"라는 오류는 무엇입니까?
MySQL에서 이 쿼리를 실행하고 있습니다.
SELECT ID FROM (
SELECT ID, msisdn
FROM (
SELECT * FROM TT2
)
);
이 에러가 발생하고 있습니다.
파생된 각 테이블에는 고유한 별칭이 있어야 합니다.
이 에러의 원인은 무엇입니까?
모든 파생 테이블(AKA 서브쿼리)에는 에일리어스가 있어야 합니다.즉, 괄호 안의 각 쿼리에 별칭을 지정해야 합니다.AS whatever
외부 쿼리의 나머지 부분에서 참조하기 위해 사용할 수 있습니다.
SELECT ID FROM (
SELECT ID, msisdn FROM (
SELECT * FROM TT2
) AS T
) AS T
물론 사용자의 경우 전체 쿼리를 다음과 같이 대체할 수 있습니다.
SELECT ID FROM TT2
내 생각엔 이렇게 하라고 하는 것 같아.
SELECT ID
FROM (SELECT ID,
msisdn
FROM (SELECT * FROM TT2) as myalias
) as anotheralias;
하지만 애초에 왜 이런 질문을 쓰신 거죠?
에일리어스가 없으면 개서할 수 없는 다른 예를 다음에 나타냅니다.GROUP BY DISTINCT
).
라고 하는 테이블을 상상해 보세요.purchases
에 의해 이루어진 구매를 기록하는customers
에stores
예를 들어, 테이블이 여러 개이고 소프트웨어는 둘 이상의 매장에서 어떤 고객이 구입했는지 알아야 합니다.
SELECT DISTINCT customer_id, SUM(1)
FROM ( SELECT DISTINCT customer_id, store_id FROM purchases)
GROUP BY customer_id HAVING 1 < SUM(1);
오류와 함께 중단됩니다.Every derived table must have its own alias
. 수정 방법:
SELECT DISTINCT customer_id, SUM(1)
FROM ( SELECT DISTINCT customer_id, store_id FROM purchases) AS custom
GROUP BY customer_id HAVING 1 < SUM(1);
(주의:AS custom
에일리어스).
적절한 답변이 있는지, 이 오류가 발생한 구문 오류가 발생했는지, 아니면 제가 직접 답변을 올릴 수 있는지 확인해보려고 이곳에 왔습니다.
네, 여기 답변이 이 오류의 의미를 설명하고 있기 때문에 더 이상 말할 것은 없지만, 그래도 저는 제 말을 사용하여 2센트를 제시하겠습니다.
이 에러는 기본적으로 다음 서브쿼리가 포함된 새 테이블을 생성하기 때문에 발생합니다.FROM
명령어를 입력합니다.
그게 뭐냐면derived table
즉, 그 때문에, 이 시스템은alias
(실제로 그 이름을 참조).
다음과 같은 가상 쿼리를 지정합니다.
SELECT id, key1
FROM (
SELECT t1.ID id, t2.key1 key1, t2.key2 key2, t2.key3 key3
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.id
WHERE t2.key3 = 'some-value'
) AS tt
마지막으로, 모든 서브쿼리가FROM
명령어를 실행하면 에일리어스된 테이블이 생성됩니다.tt
그리고 다음과 같은 컬럼이 있습니다.id
,key1
,key2
,key3
.
그리고 첫 번째와 함께SELECT
최종적으로는,id
그리고.key1
(을 참조해 주세요).tt
).
언급URL : https://stackoverflow.com/questions/1888779/what-is-the-error-every-derived-table-must-have-its-own-alias-in-mysql
'programing' 카테고리의 다른 글
Thread.sleep과타임 유닛sleep (0) | 2022.12.10 |
---|---|
QTCreator에서 사용하기 위해 설치된 mariadb10과 RPI3(Stretch)를 교차 컴파일하려면 어떻게 해야 합니까? (0) | 2022.12.10 |
브라우저에서 로컬 텍스트 파일을 읽는 방법 (0) | 2022.12.10 |
역순으로 정렬된 키를 사용하여 개체 반복 (0) | 2022.12.10 |
POM.xml 환경변수는 어떻게 참조합니까? (0) | 2022.12.10 |