>  Q&A  >  본문

MYSQL에서 테이블 1을 참조하는 3개의 테이블을 조인하고 쉼표 구분 기호로 값을 결합합니다.

테이블 3개를 조인하는 데 문제가 있습니다. 두 테이블을 조인하려는 첫 번째 시도는 성공했지만, 세 번째 테이블에서는 결과가 올바르지 않습니다...

세 개의 테이블이 있습니다 machine_listmainTable이고, applicable_rpmapplicable_productmachine_list

의 세부 정보입니다.

테이블: machine_list

으아아아

테이블: applicable_rpm

으아아아

양식: 적용_제품

으아아아

이렇게 돌아가고 싶어요:

으아아아

먼저 다음 쿼리를 사용하여 두 테이블을 조인하려고 했습니다.

으아아아

결과는 다음과 같습니다.

으아아아

맞습니다만 세 번째 테이블을 시도하면 해당 값이 중복됩니다.

내 쿼리는 다음과 같습니다.

으아아아

결과는 다음과 같습니다.

으아아아

어떻게 해야 하나요?

P粉208469050P粉208469050404일 전469

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

  • P粉198749929

    P粉1987499292023-09-12 12:19:03

    조인에서 중복 행이 생성되는 것 같습니다.

    하위 쿼리를 사용하면 원하는 결과를 얻을 수 있습니다.

    으아악

    이렇게 하면 예상되는 출력이 반환됩니다:

    기계번호 기계 속도 생산라인
    MN-1 20 모노
    MN-2 20, 25 단결정, 다결정

    회신하다
    0
  • P粉545218185

    P粉5452181852023-09-12 00:17:19

    그룹화하지 않으면 MN-2와 연관된 행이 두 개 있는 것을 볼 수 있습니다. 따라서 group_concat을 수행하면 선택한 열의 값이 두 행 모두에 표시됩니다.

    으아악

    여기서는 중첩된 선택 항목을 사용해야 합니다. 유사:

    으아악

    나중에 GROUP_CONCAT에 DISTINCT를 사용해 볼 수도 있습니다

    으아악

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