-1
다른 테이블 내의 각 사용자에 대한 값을 결과에서 하나의 출력 행으로 가져 오려고하는 쿼리가 있습니다.각 사용자에 대해 단일 행으로 MySQL 쿼리 연결하기
SELECT DISTINCT table1.ID, table1.username, table1.display_name,
CASE WHEN table2.meta_key = 'vgm' THEN table2.meta_value END VGM,
CASE WHEN table2.meta_key = 'year_completed' THEN table2.meta_value END 'Year Completed',
CASE WHEN table2.meta_key = 'status' THEN table2.meta_value END Status,
CASE WHEN table2.meta_key = 'military_grade' THEN table2.meta_value END 'Military Grade'
FROM table1, table2
WHERE table1.ID = table2.user_id
최종 결과는 다음과 같습니다. 가능하다면 모든 사용자 정보를 단일 행에 넣고 싶습니다. 누구든지 어떤 제안이 있습니까? 감사. 같은
<table>
<tr>
<td>3</td>
<td>user1</td>
<td>Username Last</td>
<td>NULL</td>
<td>NULL</td>
<td>NULL</td>
<td>NULL</td>
</tr>
<tr>
<td>3</td>
<td>user1</td>
<td>Username Last</td>
<td>NULL</td>
<td>NULL</td>
<td>Baja</td>
<td>NULL</td>
</tr>
<tr>
<td>3</td>
<td>user1</td>
<td>Username Last</td>
<td>NULL</td>
<td>112</td>
<td>NULL</td>
<td>NULL</td>
</tr>
<tr>
<td>3</td>
<td>user1</td>
<td>Username Last</td>
<td>NULL</td>
<td>NULL</td>
<td>NULL</td>
<td>Subt</td>
</tr>
<tr>
<td>3</td>
<td>user1</td>
<td>Username Last</td>
<td>No</td>
<td>NULL</td>
<td>NULL</td>
<td>NULL</td>
</tr>
</table>
표 1은 다음 표 2는
<table>
<tr>
<td>ID</td>
<td>NAME</td>
<td>EMAIL</td>
</tr>
<tr>
<td>3</td>
<td>user1</td>
<td>Username Last</td>
</tr>
<tr>
<td>4</td>
<td>user2</td>
<td>Username2 Last2</td>
</tr>
</table>
등 :
0,123,763
<table>
<tr>
<td>ID</td>
<td>USER_ID</td>
<td>META_KEY</td>
<td>META_VALUE</td>
</tr>
<tr>
<td>1</td>
<td>3</td>
<td>Key 1</td>
<td>Value 1</td>
</tr>
<tr>
<td>1</td>
<td>3</td>
<td>Key 2</td>
<td>Value 2</td>
</tr>
<tr>
<td>1</td>
<td>4</td>
<td>Key 1</td>
<td>Value 1</td>
</tr>
<tr>
<td>1</td>
<td>4</td>
<td>Key 2</td>
<td>Value 2</td>
</tr>
</table>
내가 여기서 뭔가를 놓치고 있습니까? 당신의 결과가 이미 한 줄에 있지 않습니까? –
코드 스 니핏을 실행하면 출력에는 한 사용자에 대해 4 개의 다른 행이 있습니다. NULL 값이없는 행 하나 여야합니다. 다른 테이블에는 각각 자신의 행에 여러 값이 있으며 한 테이블 행에 모든 사용자 정보를 압축하려고합니다. –
나는 table1과 table2에 대한 테이블 스키마와 몇 가지 샘플 데이터를 게시 할 수 있습니까? 나는 이것을 두 테이블이있는 from 대신에 join을 사용하여 해결할 수 있다고 생각한다. 새 쿼리를 제공하기 전에 먼저 요청 된 정보를 확인해야합니다. –