하드 코딩 된 값 목록에 대한 CTE를 작성하는 방법이 있습니까? 예를 들어, 알려진 ID (예 : 101102105200 ...)의 목록이 있는데 ID라는 하나의 열이있는 CTE를 만들 수 있지만 모든 ID 값은 검색어에 하드 코딩되어 있습니까? BTW, Oracle에서이 쿼리를 실행해야합니다. 감사!정의 된 값 목록을 CTE에 작성하십시오.
7
A
답변
10
당신은
WITH cte AS (
SELECT 101 id FROM dual UNION ALL
SELECT 102 FROM dual UNION ALL
SELECT 105 FROM dual UNION ALL
SELECT 200 FROM dual UNION ALL
...
)
은 당신이 정말로 수행하려는 작업에 따라 같은 일을 할 수있는,하지만 당신은 컬렉션을 선언하고 쉼표로 구분 된 구문 분석 기능을 사용하거나 사용하지 않고 (즉를 사용할 수 있습니다 문자열)
CREATE TYPE num_tbl
AS TABLE OF NUMBER;
WITH cte AS (
SELECT column_value
FROM TABLE(num_tbl(101, 102, 105, 200))
)
7
편집 : 이전에 권고 된 솔루션은 MSSQL에서만 작동합니다. 따라서 Oracle 솔루션을 추가하고 있습니다. 나는 아래에 원래의 대답을 유지하고있다.
임시 테이블을 사용하여 한 가지 더 많은 솔루션을 생각했습니다 (Justin Cave에서 제공 한 솔루션이 여전히 조금 나은 것으로 보이지만). 여기
는 오라클 데이터베이스에 대한 올바른 해결책이 될해야
CREATE GLOBAL TEMPORARY TABLE temp_ids
(id INT)
ON COMMIT PRESERVE ROWS;
INSERT INTO ids (id) VALUES (101);
INSERT INTO ids (id) VALUES (102);
INSERT INTO ids (id) VALUES (103);
이처럼 보일 수 있습니다 방법이다. 내가 여기에 비슷한 문제가 건너와 한
아래
원래 대답은 내 솔루션 (댓글에서 언급 한 바와 같이이 오라클 DB에 불구하고 단지 MSSQL 작동하지 않습니다)입니다
WITH cte AS (
SELECT * FROM (
VALUES
(1, 2, 3, ...),
(2, 3, 4, ...)
) AS a (col1, col2, col3, ...)
)
INSERT INTO ...
희망 이게 도움이 :)
관련 문제
- 1. 미리 정의 된 정렬 된 값 목록을 사용하여 개체 정렬
- 2. 프롤로그에서 목록을 올바르게 작성하십시오.
- 3. 목록에 파이썬으로 목록을 작성하십시오.
- 4. 목록을 스크롤하지 않고 컨테이너 목록을 다시 작성하십시오.
- 5. 정의 된 OWL 온톨로지를 사용하여 RDF를 작성하십시오.
- 6. 미리 정의 된 필드가 Joomla에 작성하십시오.
- 7. where 절의 키 값 쌍 목록을 사용하여 select 문을 작성하십시오.
- 8. 미리 정의 된 목록을 기반으로하는 루비 정렬
- 9. 레코드 유형 단일 열에서 값 분할/추출 사용자 정의 함수를 복수 행 CTE에 적용
- 10. 자바 스크립트 추가 목록을 작성하십시오.
- 11. quickblox에서 서브 룸 목록을 작성하십시오.
- 12. 반복문을 사용하지 않고 목록을 작성하십시오.
- 13. MySQL 관련 코스 목록을 작성하십시오
- 14. python에서 텍스트 파일의 목록을 작성하십시오.
- 15. itertools groupby를 사용하여 목록을 작성하십시오
- 16. 표 드롭 다운 목록을 작성하십시오
- 17. afile에 폴더의 파일 목록을 작성하십시오.
- 18. 목록 목록을 재귀 적으로 작성하십시오.
- 19. 함수의 정의 isReverse를 작성하십시오.
- 20. Web2Py에서 열거 된 값 목록을 정의하는 방법
- 21. NuoDB SQL Server CTE에 해당
- 22. 사전 정의 된 값 C#
- 23. 정의 된 카운터 값 증가
- 24. 익스프레스를 사용하여 ejs에서 쉼표로 구분 된 링크 목록을 작성하십시오.
- 25. 사용자 정의 된 SVN 깊이 값
- 26. 유형 - 길이 - 값 대 정의 된/구조화 된 길이 값
- 27. 파이썬에서 함수 목록을 정의
- 28. 찾기 용 디렉토리 제외 목록을 작성하십시오.
- 29. 숫자 값 오류로 링크 된 목록을 변환이
- 30. 목록에서 중복 된 값 목록을 파이썬으로 나열하십시오.
단지 최근 버전을 추가하면 하위 쿼리 인수 절에 대한 열 별칭을 별도로 정의 할 수 있으므로 잠재적으로 쿼리 절을 약간 깔끔하게 유지할 수 있습니다. WITH cte (id) as (SELECT 101 from dual ... http://docs.oracle.com/database/121/SQLRF/statements_10002.htm#SQLRF01702 –