2017-12-20 15 views
0

'a- %'또는 'A- %'로 시작하고 다른 모든 사용자 이름은 '하나의 열 값을 여러 조건으로 가져 오기

예상 결과, 이미지를 아래로 SYSTEM_ID 349 "사용 안 함 :

enter image description here

쿼리 내가 사용됩니다

예 Pri_0911를 들어
SELECT * FROM 
    (SELECT DISTINCT p.domain_id 
     FROM ur_username u 
      JOIN ur_username_person up ON u.username_id = up.username_id 
      JOIN ur_person p ON up.person_id = p.person_id 
      JOIN ur_system s ON u.system_id = s.system_id 
      WHERE (u.username LIKE 'A-%' OR username LIKE 'a-%') AND u.status = 'ACTIVE' AND u.system_id = 34)E 
WHERE E.domain_id IN (SELECT p.domain_id FROM ur_username u JOIN ur_username_person up ON u.username_id = up.username_id 
    JOIN ur_person p ON up.person_id = p.person_id 
    WHERE u.system_id = 349 AND u.status = 'DISABLED') 

(DOM ain_id)는 사용자 이름의 수가 많지만 사용자 이름 만 'a- %'로 시작하고 다른 모든 사용자 이름은 사용할 수 없으므로이 조건과 일치하는 도메인 ID를 선택해야합니다.

domain_id | username | status | system_id | 
Pri_0911 | asdfg  | disabled |  349  | 
Pri_0911 | werdfdf  | disabled |  349  | 
Pri_0911 | zxgfg  | disabled |  349  | 
Pri_0911 | a-priya  | ACTIVE |  349  | 
+2

(U.USERNAME LIKE 'A- %'또는 USERNAME LIKE 'a- %')는 대괄호로 묶습니다. 그렇지 않으면 당신은 U.USERNAME LIKE 'A- %'또는 blablabla – MiloBellano

+0

@MiloBellano를 언급했습니다. 여기서 언급 한 포인트를 변경했지만 여전히 여기에서 예상 결과를 얻지 못했습니다. 감사합니다. – madhan

+0

대신 얻는 결과는 무엇입니까? – MiloBellano

답변

0

귀하의 최신 요구 사항을 올바르게 이해 한 경우, 다음에 해당하는 것을 제공하지 않습니까?

SELECT DISTINCT p.domain_id, 
       u.username 
FROM ur_username u 
     JOIN ur_username_person up ON u.username_id = up.username_id 
     JOIN ur_person p ON up.person_id = p.person_id 
     JOIN ur_system s ON u.system_id = s.system_id 
WHERE u.username LIKE 'A-%' 
OR  u.username LIKE 'a-%'; 
+0

@ 여기 우리는 하나의 트위스트 도메인 아이디가 일부 사용자 이름에 대한 활성이지만, 나는 'A- %'또는 'a-'로 시작하는 하나의 활성 사용자가있는 도메인이 필요합니다 시스템 id 349. 그 이유는 내가 두 개의 하위 쿼리를 사용합니다. T – madhan

+2

요구 사항을 추측하지 못하도록하려면 전체 테스트 사례를 제공해주십시오. 예 : 테이블 문 작성, 명령문 및 예상 결과를이 입력 데이터를 기초로 작성하십시오. 이 정보를 제공해 주시면 요구 사항이 훨씬 명확해질 것입니다. – Boneist

+0

여기에 작성 또는 삽입 문이 없습니다. 하나의 사용자 계정에서만 활성화 된 도메인 ID에 대한 보고서를 가져 오려고합니다 (a-로 시작). 다른 모든 사용자 계정은 비활성화해야합니다. 내 쿼리는 데이터를 가져 왔지만 다른 사용자 이름에서 활성화 된 도메인 ID를 추가로 끌어오고 있습니다. 여기에 세 개의 테이블이 있습니다. 여기에는 ur_username (사용자 이름 세부 정보), ur_person (도메인 _id)이 있습니다. ur_username_person (연결 테이블). 이것은 택시가 데이터를 선택해야하는 정보입니다.이 시간을 낭비하는 것에 대해 죄송합니다. – madhan