조인 및 관련 테이블의 열 이름과 값을 일치시키는 방법은 무엇입니까?

MarkL

다음과 같은 DB 구조가 있습니다.

자동차 :

  • 신분증
  • 하다

풍모:

  • 신분증
  • 이름

cars_feature :

  • 신분증
  • car_id
  • feature_id

모든 기능이있는 모든 자동차를 선택 feature.name하고 열 이름과 cars_feature.value값으로 결과를 반환 할 수 있기를 원합니다 . 지금은 모든 기능과 모든 값을 얻을 수 있지만 group_concat.

내가 찾고있는 것은 다음 출력입니다.

car_id  car_make  color  wheels  doors
1       Ford      blue   alloy
2       Audi             alloy   3

데이터 예 : SQLFiddle

너무 착하다

다음은 여러 행을 하나의 행으로 결합 MySQL 에서 찾은 수정 된 버전의 코드입니다 .

SET @sql = NULL;

SELECT GROUP_CONCAT(DISTINCT CONCAT(
      'MAX(CASE WHEN `name` = ''',
      `name`,
      ''' THEN value END) AS `',
      `name`, '`'
    )
  ) INTO @sql
FROM (SELECT name,
             value
      FROM features, car_feature
      WHERE features.id = car_feature.feature_id) AS car_features_feature;

SET @sql = CONCAT('SELECT car_feature.car_id AS car_id,
                          cars.make AS car_make,
                          ',
                          @sql,
                          '
                   FROM car_feature
                   LEFT JOIN cars ON car_feature.car_id = cars.id
                   LEFT JOIN features ON car_feature.feature_id = features.id
                   GROUP BY car_id;');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

학습 경험에 감사드립니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Grails : 관련없는 테이블을 조인하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Excel-A와 B 열을 선별하고 C 열의 값이 A 및 B 셀의 조합과 일치하는지 확인하는 방법은 무엇입니까?

분류에서Dev

다른 테이블과 동적 관계가있는 테이블의 열을 인덱싱하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

문자열을 이중 및 / 또는 단일 대시와 일치시키는 방법은 무엇입니까?

분류에서Dev

다 대다 관계에서 열의 모든 동일한 값을 찾고 다른 세 테이블과 테이블을 조인하는 방법은 무엇입니까?

분류에서Dev

postgresql-집계 및 조인 테이블 출력에 null 값을 표시하는 방법은 무엇입니까?

분류에서Dev

Rails 5, 관련 테이블로 두 모델의 이름을 지정하는 방법은 무엇입니까?

분류에서Dev

SQL to_tsvector에서 관련 테이블 열을 추가하는 방법은 무엇입니까?

분류에서Dev

테이블의 항목과 관련된 첫 번째 및 마지막 행을 선택하는 방법은 무엇입니까?

분류에서Dev

중복 열없이 3 개의 테이블을 조인하는 방법은 무엇입니까?

분류에서Dev

Excel : 두 시트의 두 열을 조건과 일치시키는 방법은 무엇입니까?

분류에서Dev

중복 열 값으로 두 테이블을 조인하는 방법은 무엇입니까?

분류에서Dev

조인 된 테이블의 열을 요약하는 방법은 무엇입니까?

분류에서Dev

WPF에서 관련 테이블을 바인딩하는 방법은 무엇입니까?

분류에서Dev

SQL에서 하나 이상의 관련없는 조건을 확인하는 방법은 무엇입니까?

분류에서Dev

조건에 따라 SQL 테이블 열의 모든 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

조건에 따라 SQL 테이블 열의 모든 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

참조 테이블의 열에서 최대 값으로 행을 쿼리하는 방법은 무엇입니까?

분류에서Dev

두 개의 다른 열과 관련된 두 가지 조건을 기반으로 모든 행을 인쇄하는 방법은 무엇입니까?

분류에서Dev

지원할 테이블을 디자인하는 방법은 기본값과 많은 관련이 있습니까?

분류에서Dev

비슷한 열 이름을 가진 서로 다른 관련없는 테이블에서 열을 가져 오는 방법은 무엇입니까?

분류에서Dev

시계열별로 한 데이터 테이블의 항목을 다른 데이터 테이블에 일치시키는 방법은 무엇입니까?

분류에서Dev

wikipedia 테이블의 열 아래에 모든 값을 인쇄하는 방법은 무엇입니까?

분류에서Dev

다른 테이블의 조인 쿼리에서 결과 값을 계산하는 방법은 무엇입니까?

분류에서Dev

문자열 배열 이름과 관련된 동적 변수를 만드는 방법은 무엇입니까?

분류에서Dev

내부 조인을 사용하여 Sql Server2008의 테이블 열과 정보 스키마 열을 비교하는 방법은 무엇입니까?

분류에서Dev

행과 열의 인덱스로 테이블 셀의 색상을 변경하는 방법은 무엇입니까?

분류에서Dev

하이브 테이블에서 최대 값과 참조 이름을 찾는 방법은 무엇입니까?

분류에서Dev

테이블 열의 값을 곱하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Grails : 관련없는 테이블을 조인하는 가장 좋은 방법은 무엇입니까?

  2. 2

    Excel-A와 B 열을 선별하고 C 열의 값이 A 및 B 셀의 조합과 일치하는지 확인하는 방법은 무엇입니까?

  3. 3

    다른 테이블과 동적 관계가있는 테이블의 열을 인덱싱하는 가장 좋은 방법은 무엇입니까?

  4. 4

    문자열을 이중 및 / 또는 단일 대시와 일치시키는 방법은 무엇입니까?

  5. 5

    다 대다 관계에서 열의 모든 동일한 값을 찾고 다른 세 테이블과 테이블을 조인하는 방법은 무엇입니까?

  6. 6

    postgresql-집계 및 조인 테이블 출력에 null 값을 표시하는 방법은 무엇입니까?

  7. 7

    Rails 5, 관련 테이블로 두 모델의 이름을 지정하는 방법은 무엇입니까?

  8. 8

    SQL to_tsvector에서 관련 테이블 열을 추가하는 방법은 무엇입니까?

  9. 9

    테이블의 항목과 관련된 첫 번째 및 마지막 행을 선택하는 방법은 무엇입니까?

  10. 10

    중복 열없이 3 개의 테이블을 조인하는 방법은 무엇입니까?

  11. 11

    Excel : 두 시트의 두 열을 조건과 일치시키는 방법은 무엇입니까?

  12. 12

    중복 열 값으로 두 테이블을 조인하는 방법은 무엇입니까?

  13. 13

    조인 된 테이블의 열을 요약하는 방법은 무엇입니까?

  14. 14

    WPF에서 관련 테이블을 바인딩하는 방법은 무엇입니까?

  15. 15

    SQL에서 하나 이상의 관련없는 조건을 확인하는 방법은 무엇입니까?

  16. 16

    조건에 따라 SQL 테이블 열의 모든 값을 가져 오는 방법은 무엇입니까?

  17. 17

    조건에 따라 SQL 테이블 열의 모든 값을 가져 오는 방법은 무엇입니까?

  18. 18

    참조 테이블의 열에서 최대 값으로 행을 쿼리하는 방법은 무엇입니까?

  19. 19

    두 개의 다른 열과 관련된 두 가지 조건을 기반으로 모든 행을 인쇄하는 방법은 무엇입니까?

  20. 20

    지원할 테이블을 디자인하는 방법은 기본값과 많은 관련이 있습니까?

  21. 21

    비슷한 열 이름을 가진 서로 다른 관련없는 테이블에서 열을 가져 오는 방법은 무엇입니까?

  22. 22

    시계열별로 한 데이터 테이블의 항목을 다른 데이터 테이블에 일치시키는 방법은 무엇입니까?

  23. 23

    wikipedia 테이블의 열 아래에 모든 값을 인쇄하는 방법은 무엇입니까?

  24. 24

    다른 테이블의 조인 쿼리에서 결과 값을 계산하는 방법은 무엇입니까?

  25. 25

    문자열 배열 이름과 관련된 동적 변수를 만드는 방법은 무엇입니까?

  26. 26

    내부 조인을 사용하여 Sql Server2008의 테이블 열과 정보 스키마 열을 비교하는 방법은 무엇입니까?

  27. 27

    행과 열의 인덱스로 테이블 셀의 색상을 변경하는 방법은 무엇입니까?

  28. 28

    하이브 테이블에서 최대 값과 참조 이름을 찾는 방법은 무엇입니까?

  29. 29

    테이블 열의 값을 곱하는 방법은 무엇입니까?

뜨겁다태그

보관