-1
私は、別のテーブル内の各ユーザの値を結果内の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
最終的には以下のような結果になります。可能であれば、すべてのユーザー情報を1行に表示したいと思います。誰でも何か提案がありますか?ありがとう。
<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のようなある:
<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>
表2のようなある:
<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>
は、私はここで何かが足りないのですか?あなたの結果はすでに一列になっていませんか? –
コードsnippitを実行すると、出力には1人のユーザーに対して4つの異なる行があります。 NULL値を持たない1つの行にする必要があります。他のテーブルにはそれぞれ独自の行に複数の値があり、すべてのユーザー情報を1つのテーブル行に集約しようとしています。 –
私は、table1とtable2のテーブルスキーマといくつかのサンプルデータを投稿してください。私はこれが2つのテーブルからfromの代わりにjoinを使うことで解決できると思っています。新しいクエリを提供する前に、まずリクエストされた情報を見る必要があります。 –