[SQL] SQL 계산에서 별칭을 사용하여
SQLSQL 계산에서 별칭을 사용하여
되지 않는 이유는이 쿼리를 사용할 수 있습니까?
SELECT 10 AS my_num, my_num*5 AS another_number
FROM table
이 예제에서는 다른 계산에 my_num 별칭을 사용하는 것을 시도하고있다. 알 수없는 열 "my_num"이러한 결과
이것은 내가 할 노력하고 있지만, 기본적으로 내가 다른 계산을 할 때의 별명을 사용하고자하는 무엇의 단순화 된 버전입니다. 내 계산은 훨씬 더 복잡하고 내가 여러 번 다른 방법을 반복하기 때문에 그게 전부는 왜 별칭을 것이 좋을 것이다.
해결법
-
==============================
1.간단하게 (SELECT 별칭)로 재사용 별칭을 포장 :
간단하게 (SELECT 별칭)로 재사용 별칭을 포장 :
SELECT 10 AS my_num, (SELECT my_num) * 5 AS another_number FROM table
-
==============================
2.당신은 그 별명 방법으로 그것을 사용하기 위해 부속을 사용해야합니다
당신은 그 별명 방법으로 그것을 사용하기 위해 부속을 사용해야합니다
SELECT my_num*5 AS another_number FROM ( SELECT 10 AS my_num FROM table ) x
-
==============================
3.SQL의 별칭은 프로그래밍 언어의 변수처럼되지 않습니다. 별칭은 다시 특정 지점에서 (특히 GROUP BY 및 HAVING 절에) 참조 할 수 있습니다. 하지만 당신은 SELECT 절에 별칭을 다시 사용할 수 없습니다. 당신은 당신이 기본적으로 당신의 열 이름을 변경 및 / 또는 계산 된 열 이름을 할 수 있습니다 (루벤스 파리 아스 제안 등) 파생 쿼리를 사용할 수 있습니다.
SQL의 별칭은 프로그래밍 언어의 변수처럼되지 않습니다. 별칭은 다시 특정 지점에서 (특히 GROUP BY 및 HAVING 절에) 참조 할 수 있습니다. 하지만 당신은 SELECT 절에 별칭을 다시 사용할 수 없습니다. 당신은 당신이 기본적으로 당신의 열 이름을 변경 및 / 또는 계산 된 열 이름을 할 수 있습니다 (루벤스 파리 아스 제안 등) 파생 쿼리를 사용할 수 있습니다.
수식은 일반적으로 고정하는 경우 또는 당신은 VIEW를 사용할 수 있습니다
CREATE VIEW table10 AS SELECT 10 AS my_num FROM table; SELECT my_num * 5 AS another_number FROM table10;
나는 약간 빠른 파생 쿼리를 사용하는 것보다이 될 것으로 예상하지만, 아마도 당신의 진짜 쿼리에 많이 의존한다.
또는 당신은 일을 복제 할 수 있습니다 :
SELECT 10 AS my_num, 10 * 5 AS another_number FROM table;
PHP / 펄 같은에서 편리 할 수있는 :
my $my_num = 10; my $query = "SELECT $my_num AS my_num, $my_num * 5 AS another_number FROM table";
-
==============================
4.``또 다른 옵션은이 연산자를 적용 사용하는 것입니다
``또 다른 옵션은이 연산자를 적용 사용하는 것입니다
SELECT my_num, my_num*5 AS another_number FROM table CROSS APPLY (SELECT 5 AS my_num) X
from https://stackoverflow.com/questions/2077475/using-an-alias-in-sql-calculations by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 각 ID에 대한 잡아 최대 값에 대한 간단한 쿼리 (0) | 2020.03.29 |
---|---|
[SQL] 준비된 문을 통해 INSERT INTO와 PDO [폐쇄] (0) | 2020.03.29 |
[SQL] 왜 MySQL은 FULL OUTER에 구문 오류가 JOIN보고는 무엇입니까? (0) | 2020.03.28 |
[SQL] 그것은 PL / SQL 블록에서 SELECT 문은 출력 할 수 있습니까? (0) | 2020.03.28 |
[SQL] 웅변 / 유창한를 사용하여 단일 쿼리에서 여러 행을 삽입하는 방법 (0) | 2020.03.28 |