반응형
Oracle: 비교 작업에서 하위 쿼리의 공백이 있는 별칭을 참조하는 방법
Oracle SQL Query에서 공백이 있는 별칭을 참조할 수 있는 방법이 있습니까?아직 어디서도 못 찾았어요.일반적으로 데이터베이스 구성요소의 이름을 지정하는 데 공백을 사용하지 않기 때문에, 이것은 저에게 새로운 영역입니다.
다음은 쿼리 예제입니다.
SELECT t.id AS "Ticket ID",
(SELECT w.workgroup_title FROM workgroups w
WHERE w.operator_id = t.operator_id AND ROWNUM < 2) AS "Workgroup Title"
FROM tickets t
향후 비교 작업에서 "티켓 ID" 또는 "워크그룹 제목"을 어떻게 사용합니까?예:
"티켓 ID" == 9 또는 "작업 그룹 제목" == '작업 그룹 #1'
이것을 할 수 있는 쉬운 방법이 있을 것 같은데, 아직 찾지 못했습니다.
감사합니다!
PS 이것은 저에게 건네진 유산 조각입니다.SQL의 별칭은 다른 다양한 코드와 동적으로 연결되며 모두 공백을 가집니다.결과적으로 공간을 제거하는 것은 간단한 문제가 아니며 현재 저는 공간을 제거할 시간이 없습니다.그렇지 않으면 그렇게 할 겁니다.
명확화를 위해 편집
위의 예를 사용하여 "작업 그룹 제목"이 항상 별칭을 나타내는 경우 이와 같은 작업을 수행하려면 어떻게 해야 합니까?
SELECT t.id AS "Ticket ID",
(SELECT w.workgroup_title FROM workgroups w
WHERE w.operator_id = t.operator_id AND ROWNUM < 2) AS "Workgroup Title",
(SELECT s.support_tier_id FROM support_tiers s
WHERE s.workgroup_title == "Workgroup Title") AS "Support Tier ID"
FROM tickets t
예, 이렇게 할 수 있지만, 이러한 이름은 큰따옴표로 묶어야 합니다.
-- SQL Example
SELECT "Just one" FROM (
SELECT 1 AS "Just one" FROM dual
);
출력:
단 하나----------1
-- PL/SQL Example
BEGIN
FOR v_rec IN (SELECT 1 AS "Just one" FROM dual)
LOOP
dbms_output.put_line(v_rec."Just one");
END LOOP;
END;
/
출력:
1
그리고 약간의 호기심이 있습니다.
BEGIN
FOR v_rec IN (SELECT COUNT(1) * 10 FROM dual)
LOOP
dbms_output.put_line(v_rec."COUNT(1)*10");
END LOOP;
END;
효과가 있습니다.및 인쇄:
10
편집
다음과 같은 별칭 열을 쿼리의 다른 위치에서 참조할 수 있습니다.
SELECT 'It is just one' FROM (
SELECT "Just one" FROM (
SELECT 1 AS "Just one" FROM dual
) t
WHERE t."Just one" = 1 -- prefixing with t. is not necessary in this particular example
);
출력:
그것은 단지 하나입니다.
언급URL : https://stackoverflow.com/questions/19942767/oracle-how-to-reference-an-alias-with-a-space-from-a-subquery-in-a-comparison-o
반응형
'programing' 카테고리의 다른 글
MariaDB 속도 저하 - 증상과 원인을 구별하는 방법 (0) | 2023.08.09 |
---|---|
PHP 및 SQL 문을 사용하여 RANK() 함수를 사용하여 표를 채우고 순위를 매김 (0) | 2023.08.09 |
git와 gnome-keyring 통합 사용 방법 (0) | 2023.08.09 |
Excel 파일을 만들고 ExcelJS로 쓰기 (0) | 2023.08.09 |
Angular 2 구성 요소 @입력이 작동하지 않음 (0) | 2023.08.09 |