나는이 모양을 그 안에 SELECT와 DECODE 문을 쓰기 위해 노력하고있어 내부 (둘 이상의 행을 반환) SELECT : 분명히는 (신탁) DECODE
SELECT DECODE(A.name, (SELECT name FROM B WHERE id IN (1000,1001)),'Value1','Value2') FROM A
을 경우 DECODE 안에 내 선택 문 둘 이상의 행을 반환합니다. "ORA-01427 : 단일 행 하위 쿼리는 둘 이상의 행을 반환합니다"예외가 발생합니다. 어느 것이 충분합니다.
여기에 하나 이상의 행이 표시 될 것으로 예상됩니다. 그 이유는 A.name 및 Value2와 일치하는 모든 항목에 대해 Value1을 표시해야합니다. foreach 루프와 비슷하지만 DECODE 내부.
올바른 방법은 무엇입니까?
업데이트 : 표 A :
+--------------+--------+
|Surname | Name |
+--------------+--------+
| Abc| John |
| Smith| Piter |
| Cook| Ann |
+--------------+--------+
표 B : 내가 볼 것으로 예상 무엇
+--------------+--------+
|ID | Name |
+--------------+--------+
| 1000| John |
| 1001| Piter |
| 2003| Ann |
+--------------+--------+
:
값 1을
값 1
값 2
당신이 CASE 문을 사용할 수있는이 상황에서
하는 테이블을 보여주세요 정의, 샘플 데이터 및 예상 출력이 포함됩니다. – OldProgrammer
전체 검색어를 표시하십시오. A와 B는 무엇이며 그들 사이에 어떤 관계가 있습니까? – Kacper
B에 동일한 이름의 행이 여러 개있을 수 있습니까? – Aleksej