가능한 중복 :이 같은 쉼표로 구분 된 문자열과 같은 값으로 내 테이블
Tbl_Prefix
의 열Prefix
이
how to pass a variable in WHERE IN clause of oracle sql?SQL 쿼리의 IN 절에서 문자열을 쉼표로 구분
:
'aaa','bbb','ccc'
저는 직원 테이블이 있습니다 Tbl_Employee
li KE이 :
WHERE
조항의
IN
부분이 접두사를 사용할 필요가
Empno Prefix
------------
1000 aaa
2000 eee
3000 ccc
4000 aaa
5000 ddd
:
내부 선택 쿼리select Tbl_Prefix.prefix from Tbl_Prefix where Tbl_Prefix.flag='y'
는 방법 결과
'aaa','bbb','ccc'
있다
Select *
from Tbl_Employee
where Tbl_Employee.Prefix in (select Tbl_Prefix.prefix
from Tbl_Prefix
where Tbl_Prefix.flag = 'y')
올바른 결과를 얻을 수 있도록 'IN'절에서이 문자열을 사용하십시오.
데이터베이스 ??????? – nawfal
데이터베이스가 SQL Server 2008 – Soumya
그런데 이러한 값이 데이터베이스에 저장되는 경우 데이터베이스 디자인을 심각하게 재검토해야합니다. 각 상위 레코드에 대한 각 쉼표로 구분 된 값에 대한 레코드가 들어있는 하위 테이블을 만듭니다. 데이터가 이와 같이 덤프 된 경우 원시 데이터를 이와 같은 구조로 처리하는 작업을 만듭니다. 적절한 테이블 구조를 사용하면 비교적 간단한 내부 조인 만 필요할 것입니다. – GolezTrol