SQL で遭遇した問題は、ID にリンクされている 1 つの列から他の 3 つの列にデータをエクスポートしようとしたことですが、下の図に示すように、多くの NULLS と複数の同一の IDS になってしまいました。
私は 4 列のテーブルを持っています。これらの列では、データが非常に奇妙な方法で格納されています。私のテーブルはこんな感じ
entry_id| field_id | value | value_ID |
| 480| -5 | string of text| 10 |
| 480| -20 | string of other text | 10 |
| 480| -23 | Yes | 10 |
| 480| -22 | No | 10 |
フィールド ID を、値が付加された新しい列に変換するクエリを設計しました。
クエリは次のようになります。
SELECT
ticket.ticket_id,
ticket.number,
users.name,
CASE WHEN val.field_id IN (5) THEN val.value end as "Issue Summary",
CASE WHEN val.field_id IN (20) THEN val.value end as "Project Site",
CASE WHEN val.field_id IN (23) THEN val.value end as "Action"
FROM ost_ticket ticket
LEFT JOIN ost_form_entry entry ON (ticket.ticket_id = entry.object_id)
LEFT JOIN ost_form_entry_values val ON (entry.id = val.entry_id)
LEFT JOIN ost_user users ON (ticket.user_id = users.id)
LEFT JOIN ost_form_field fields ON (val.field_id = fields.id)
このクエリは次を返します: http://i.stack.imgur.com/hqBv0.png (評判がないため画像を埋め込むことができません。)
ご覧のとおり、同一のチケット ID が複数あり、多数の NULLS があります。一意の ticket_id ごとに 1 つの行のみを保持するには、どのクエリを使用すればよいですか?