>  Q&A  >  본문

필터 위치를 사용하여 동일한 테이블에 내부 조인

도와주셔서 감사합니다. 저는 아직 SQL을 배우고 있습니다. JEDI라는 기본 테이블이 있고 Inner JOIN 및 Where 조건 사용에 대한 특정 정보를 얻으려고 합니다. 특히 특정 날짜와 해당 레벨 사이에 특정 행성을 방문한 JEDI의 수를 얻고 싶습니다.

그런 다음 동일한 테이블에서 Inner JOIN을 사용하여 필터링하고 특정 행성에 1개 이상의 파다완이 있는 JEDI에 대한 결과만 표시하려고 합니다. 두 번째 조건이 나를 버리는 것 같아요. 제가 사용한 코드와 샘플 데이터 표를 붙여넣었습니다

내 결과는 2가 되어야 하는데, 기준을 충족하는 사람은 오비완 사부님뿐입니다

으아악
P粉278379495P粉278379495259일 전421

모든 응답(2)나는 대답할 것이다

  • P粉878510551

    P粉8785105512024-02-04 16:59:14

    먼저 열을 그룹화하고 HAVING COUNT를 사용하여 중복 값을 계산해야 합니다.

    으아악

    참고: 이 기능은 모든 jedi_id 具有唯一值 jedi.padawan에서만 작동합니다. 이 쿼리는 이러한 시나리오에 적합합니다.

    그러나 포함되지 않는 다른 값을 추가하여 고유한 jedi.padawan 的条件来改进查询,以便每个 jedi.jedi_id< 上重复出现 jedi.padawan 값/코드>를 계산할 수 있습니다

    으아악

    회신하다
    0
  • P粉248602298

    P粉2486022982024-02-04 14:18:54

    이를 필수로 대체할 수 있습니다. INNER JOIN jedi ON jedi.jedi_id WHERE COUNT(jedi.padawan)>=2

    회신하다
    0
  • 취소회신하다