반응형
동일한 SELECT 절에서 열 별칭 사용
할당 중인 동일한 SELECT 절에 열 별칭을 사용할 방법이 있습니까?예를 들어,
SELECT ord_id, candy_id, price, quantity,
price * quantity AS ext_cost, ext_cost * @tax_rate
MySQL이 "을(를) 인식하지 못하기 때문에 오류를 반환합니다.ext_cost
" 에ext_cost * @tax_rate
query. 만약 불가능하다면, 이런 글을 쓸 필요 없이 첫번째 query에 나열된 모든 것이 있는 테이블을 돌려줄 수 있나요?
SELECT ord_id, candy_id, price, quantity,
price * quantity AS ext_cost, (price * quantity) * @tax_rate
기본적으로, 전 그냥 다시 사용할 방법이 없을까 해서요.ext_cost
SELECT 쿼리에서.
아니요, 별칭을 참조하는 방법은 없지만 식을 변수에 할당한 다음 동일한 선택 절에 있는 변수를 참조할 수 있습니다.
select 문 변수 할당은 항상 infix 연산자에 의해 수행됩니다.:=
. *아인에SET
statement, 둘 중 하나일 수 있습니다.=
아니면:=
.
예.
SELECT
ord_id
, candy_id
, price
, quantity
, @exc_cost := price * quantity AS exc_cost
, @exc_cost * @tax_rate AS my_favourite_field
...
<FROM CLAUSE>
조건부로 변수 할당을 수행할 수도 있습니다.
예.
IF(quantity > 90,
@exc_cost := price * quantity * 0.95
, @exc_cost := price * quantity) AS exc_cost
참고 1: 집계 측정치 및 조항별 그룹이 없는 경우, 변수는 열 순서에 따라 평가됩니다.
SELECT @t, @t+2 FROM (SELECT @t := 1) a
출력을 생성합니다.
@t @t+2
1 3
MySQL에서는 기준점 앞에 있는 한 동일한 선택에서 선택 열 별칭을 참조할 수 있습니다.
SELECT
ord_id,
candy_id,
price,
quantity,
price * quantity AS ext_cost,
(SELECT ext_cost) * @tax_rate as retail_rate
이제 포스트그레스에서 이걸 할 줄 알았더라면.
하위 쿼리 사용
SELECT t1.ord_id, t1.candy_id, t1.price, t1.quantity, t2.ext_cost, t2.ext_cost * @tax_rate
FROM table1 t1
JOIN (SELECT t.ord_id, t.price * t.quantity AS ext_cost FROM table1 t) t2
ON t2.ord_id = t1.ord_id
언급URL : https://stackoverflow.com/questions/28860303/using-column-alias-in-same-select-clause
반응형
'programing' 카테고리의 다른 글
AngularJsng-grid 필터 -- 필터텍스트 형식 (0) | 2023.11.05 |
---|---|
이 트레이스 시스템 호출은 무엇을 의미합니까? (0) | 2023.11.05 |
Windows에서 Git Bash 대 Windows Power Shell 대 Command 프롬프트의 차이점은 무엇입니까? (0) | 2023.11.05 |
워드프레스필터가추가되지않음 (0) | 2023.11.05 |
wocommerce_shipping_free_shipping_is_available이 작동하지 않습니다. (0) | 2023.11.05 |