안녕하세요, Stack Overflow의 동료 여행객. 나는 내가 얻고있는 것을 더 잘 설명 할 수있는 그림 이외의 다른 방법을 묻는 방법을 완전히 확신하지 못합니다. 어떤 경우에는 다른 곳에서이 질문을 받았고 발견하지 못해 사과드립니다.MYSQL 비정규 화 된 테이블 조회
2 개의 테이블 tableA와 tableB가 있습니다. TableA에는 몇 개의 항목이있는 id 및 displayName으로 표시된 열이 들어 있습니다 (간단히하기 위해 5로 가정합니다). ID 열은 고유하고 자동 증가되며 검색을위한 기본 키입니다. 두 번째 테이블 (TableB)에는 해당 항목에 대한 ID뿐만 아니라 TableA의 ID에 대한 4 개의 참조와 관련성이없는 몇 가지 관련없는 정보가 들어 있습니다. 그래서 다음과 같이 나타납니다
TableA
-------------------------
| id | displayName |
-------------------------
| 1 | itemA |
| 2 | itemB |
| 3 | itemC |
| 4 | itemD |
| 5 | itemE |
-------------------------
TableB
--------------------------------------------------------
| id | name | varA | varB | varC | varD |
--------------------------------------------------------
| 1 | elm1 | 3 | 4 | 2 | 5 |
| 2 | elm2 | 4 | 5 | 2 | 1 |
| 3 | elm3 | 1 | 4 | 3 | 2 |
| 4 | elm4 | 2 | 1 | 5 | 4 |
| 5 | elm5 | 3 | 4 | 5 | 1 |
--------------------------------------------------------
I 현재 값을 축소하고 내가 필요한 나에게 정보를 제공하는 쿼리가 있습니다 SQL은 : tB.name, tB.varA, tB.varB, tB.varC을 선택합니다 , tB.varD FROM tableB tB GROUP BY tB.name
이제 varA, varB 등을 숫자로 표시하는 대신 TableA와 연결된 데이터와 displayName을 삽입해야합니다. . 그래서 그 대신
Result
-----------------------------------------------
| name | varA | varB | varC | varD |
-----------------------------------------------
| elm1 | 3 | 4 | 2 | 5 |
| elm2 | 4 | 5 | 2 | 1 |
-----------------------------------------------
의 그것은 보여줄 것이다 :
Result
-----------------------------------------------
| name | varA | varB | varC | varD |
-----------------------------------------------
| elm1 | itemC | itemD | itemB | itemE |
| elm2 | itemD | itemE | itemB | itemA |
-----------------------------------------------