database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41866 게시물 읽기
No. 41866
조건값의 일부분만 가진 행 표시하기
작성자
궁금
작성일
2021-08-09 17:10
조회수
2,258

A는 전체 ROWDATA이고 B는 KEY값만있어요


원하는 출력물은

A의전체데이터를 뽑아내되, A의 두컬럼에 각각 B값을 일부분 포함하고있으면 O없으면 X로 출력하고자합니다.




B.YR    A.USR_ID,    A.CD        A.USR_ID_OX           A_CD_OX

2021    AAA2022    2021SPRING     X                     O

2021    BBB2021     2022SUMMER  O                    X

.

.

2022   AAA2022   2021SPRING       O                  X


---

아레는 제가 구현하다 중단된 쿼리입니다

모든행에서 B테이블의 KEY값을 확인해봐야하는데

그렇게 안되고 하위에 2행이 값이 나오는 오류가 나오네요,,,


WITH A AS

(

SELECT 'AAA2022'AS USR_ID

         ,'2021SPRING' AS CD

  FROM DUAL

UNION

SELECT 'BBB2021'AS USR_ID

         ,'2022SUMMER' AS CD

  FROM DUAL

UNION

SELECT 'CCC2021'AS USR_ID

         ,'2021SPRING' AS CD

  FROM DUAL

)

WITH B AS

(

SELECT '2021' AS YR

FROM DUAL

UNION

SELSECT '2022' AS YR

FROM DUAL

)



SELECT

A.*,

CASE WHEN

1=(SELECT 1

     FROM B

    WHERE A.USR_ID LIKE '%' B.YR || '%')

THEN 'O' ELSE 'X'

END B1_OX,

CASE WHEN

1=(SELECT 1

     FROM B

    WHERE A.CD  LIKE '%' B.YR || '%')

THEN 'O' ELSE 'X'

END B2_OX

FROM A

이 글에 대한 댓글이 총 2건 있습니다.

몽땅 비교한식입니다. 원하시는 결과가 맞는지..?


WITH A AS

(

SELECT 'AAA2022'AS USR_ID  ,'2021SPRING' AS CD  FROM DUAL UNION

SELECT 'BBB2021'AS USR_ID  ,'2022SUMMER' AS CD  FROM DUAL UNION

SELECT 'CCC2021'AS USR_ID  ,'2021SPRING' AS CD  FROM DUAL

),

B AS

(

SELECT '2021' AS YR FROM DUAL UNION

SELECT '2022' AS YR FROM DUAL

)

SELECT b.yr, a.usr_id, a.cd, 

       CASE WHEN a.usr_id LIKE '%'||b.yr||'%' THEN 'O' ELSE 'X' END B1OX,

       CASE WHEN a.cd     LIKE '%'||b.yr||'%' THEN 'O' ELSE 'X' END B2OX

FROM a,b

정상규(pajama)님이 2021-08-09 18:56에 작성한 댓글입니다.

고맙습니다^^

궁금님이 2021-08-11 08:32에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41870ORA-29275: 부분 다중 바이트 문자(테이블 내 다중 분포)
박재덕
2021-10-14
1556
41869조회결과에 따라 동적으로 빈 row 추가 [1]
선이
2021-09-09
2046
41868서브쿼리 결과 값이 왜 where 절 안에서 왜 안 먹을까요??? [4]
봉달이
2021-09-07
2157
41866조건값의 일부분만 가진 행 표시하기 [2]
궁금
2021-08-09
2258
41865그룹별 순번 만들기... [1]
궁금이
2021-08-04
2274
41864아래글(41858) 최초검사일 기준으로 표시되는 유효기간 수정 방법 문의 대한 추가 수정 문의 [2]
노진규
2021-08-03
2112
41863WITH 임시테이블로 여러 count 조회시 질문드려요.
비건
2021-07-31
2179
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다