>  Q&A  >  본문

두 개의 복잡한 mysql select 문을 결합하는 올바른 방법은 무엇입니까?

내 테이블에서 두 개의 목록을 꺼낼 수 있습니다. 각 코호트의 각 학생에 대한 모든 단위가 표시됩니다. 다른 하나는 특정 그룹의 특정 학생을 위한 작업을 위해 각 단원의 모든 섹션이 제출되었는지 여부를 보여줍니다. 각 코호트의 각 학생에 대한 각 단원의 각 섹션에 대한 제출물(또는 비제출물)을 볼 수 있도록 목록에 가입하고 싶습니다.

으아악

사용자 ID와 그룹 ID가 있는 조직 목록을 가져옵니다.

으아악

과제에 제출된 것보다 더 많은 부분이 있는 경우 이 작업은 코호트 ID, 사용자 ID 및 단위 이름을 고려하여 각 코호트의 각 학생이 완료해야 하는 각 단위에 대해 하나의 행을 반환합니다.

으아악

두 번째 Select 문을 첫 번째 Select 문의 일부로 만들기 위해 첫 번째 Select 문의 세 열을 연결 정보로 사용하는 방법은 무엇입니까?

첫 번째 쿼리의 모든 결과에 대해 두 번째 쿼리를 실행하고 싶습니다. 위의 데이터를 사용하여 두 부분으로 구성된 단위의 일부만 제출했기 때문에 사용자 ID 21을 추출하고 싶습니다.

으아악

이게 조인인가요? 아니면 하위 쿼리?

P粉600402085P粉600402085410일 전477

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

  • P粉477369269

    P粉4773692692023-09-07 09:18:18

    (그만한 가치가 있기 때문에 group은 다양한 사회 과학 분야에서 허용되는 용어라고 생각합니다.)

    열이 코드>테이블이면 문제가 더 쉬워집니다. 이제 하위 쿼리로 시작하여 해당 열이 포함된 더미 테이블을 생성해 보겠습니다. assignments 表有一个与您的 cohort_unitspart 表相匹配的 part 으아악

    대신 이 하위 쿼리를 사용하겠습니다

    . 이것은 약간 지저분하지만 향후 작업이 더 명확해질 것입니다. 赋值

    다음으로 각 유닛의 부품 수가 필요합니다. 다음은 간단한 집계입니다.

    으아악

    공통 테이블 표현식을 사용하여 아래와 같이 쿼리를 구성할 수 있습니다.

    으아악

    이것은 바이올린입니다.

    https://dbfiddle.uk/FvGkiAnl

    이를 달성하는 비결 중 하나는 개별적으로 집계하여 부품 수를 얻는 것입니다.

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