쿼리는 결과 집합의 열 수 및 각 열의 데이터 유형으로 "정의"하는 결과 집합을 리턴한다.
UNION 또는 UNION ALL 연산은 두 결과 집합을 "추가"하도록 설계되었습니다. 이 작업을 수행하려면 두 쿼리의 결과 집합이 반환되는 열 수의 관점에서 동일해야하며 각 열의 데이터 형식도 동일해야합니다.
경우에 따라 결과 집합이 조금으로 꺼져있을 때, 우리는 결과 집합 일치 (열 자리와 같은 일부 리터럴 추가)
SELECT 'u' AS source
, u.first_name AS first_name
, u.last_name AS last_name
, u.employid AS employid
, u.manager AS manager
FROM $USER_TABLE u
WHERE u.username='$contextUser'
UNION ALL
SELECT 't' AS source
, t.some_string AS first_name
, t.some_otherstring AS last_name
, 0 AS employid
, 0 AS manager
FROM $TIMES_TABLE t
WHERE t.uid='$contextUser'
AND t.submitstatus=1
참고의 이름을 만들기 위해 쿼리를 조금 꾸며 낼 수 있습니다 열 (또는 열 또는 표현식에 할당 된 별칭)은 중요하지 않습니다. 여기서 중요한 것은 두 쿼리는 다섯 개의 열, 각 열 위치 일치의 데이터 유형 반환이다 :, VARCHAR, VARCHAR, VARCHAR, INT를
SQL 문을 개발 INT
, 그것은 무슨 일 결과 집합을 정의하는 것이 중요합니다 반환 될 각 열의 개수 및 데이터 유형
"UNION"또는 "UNION ALL"연산을 사용하는 쿼리를 만들 때 각 쿼리의 결과 집합이 일치해야합니다.
나는 이미 stackoverflow에서 검색을했는데, 내가 이해하지 못했던 유사한 예제를 많이 보았고, 왜 내가 도움을 요청하는지. 죄송합니다! – rubberchicken