2010-01-20 3 views
0

나는 모든 레코드가있는 사용자가있는 db가 있습니다.문자열 sql 쿼리

나는

CN=aaa, OU=Domain,OU=User, OU=bbbbbb,OU=Department, OU=cccc, OU=AUTO, DC=dddddd, DC=com 

같은 데이터에 대한 쿼리를하고 싶으면 나는 같은 OU = 부서 그룹에 모든 사용자가 필요합니다.

하위 문자열을 사용하여 선택을 수행하여 부서를 검색하려면 어떻게해야합니까 ??

솔루션에 대한 내 생각은 다음과 같이 또 다른 테이블을 만드는 것입니다 :

--------------------------------------------------- 
ldapstring       | society | site 
--------------------------------------------------- 
"CN=aaa, OU=Domain,OU=User, OU=bbbbbb,OU=Department, OU=cccc, OU=AUTO, DC=dddddd, DC=com" | societyName1 | societySite1 

을 내 생각은하지만 난을 할 수있는 방법과 같은 태그로 새 테이블에 다음과 문자열을 비교하는 것입니다 사회와 사이트 같은 문자열이 발생하면 ?????

+0

테이블 구조와 일부 데이터를 확인해야합니다. 또한 위의 기준에 따라 결과 집합을 제한 하시겠습니까? ** ** ** ** OR ** ** 조건입니까? –

+0

LDAP 쿼리와 비슷합니다. 아마도 귀하의 데이터는 LDAP 백엔드에서 가져온 것입니까? – troelskn

+0

그것은 마이크로 소프트 SQL 서버 또는 MySQL인가? 나는 그것을 보지 않거나, 나만인가? –

답변

3

:-)을 제안하고 싶었 적이 없다.

가능한 한 더 나은 표로 정규화해야한다고 생각합니다. 다중 값 열은 가능한 한 많이 피해야합니다.

데이터베이스를 다루지 않는 경우 다음 가장 좋은 것은 정규 표현식입니다.

+1

정규화가 가장 좋은 방법입니다. – DrDol

+0

최소치를 표준화하십시오. 아마도 'OU'열을 제거하십시오. – Timothy