私は2つのテーブルを持っています:
table1 table2
column id column id column value
1 1 count_20
2 1 count_30
3 2 count_20
4 2 count_50
... 2 count_200
3 count_30
3 count_50
3 count_200
4 count_130
... ...
からすべての行と対応するからtable1, column id
のMAX
値を選択し、列のように短くするクエリを作成したいと思います。 column value
table2
DESC
int
value
したがって、出力は次のようになります。
table1.id value
2 count_200
3 count_200
4 count_130
1 count_30
... ...
私は試しJOIN
ましたが、その後、すべてので、から対応するものを取得value
(count_%)
します。table2
id
table1
SELECT table1.id, table2.id, table2.value FROM table1
LEFT JOIN table2
ON table2.id=table1.id
WHERE table1.id<'100'
ORDER BY
CASE value
WHEN 'count_20' THEN '20'
END DESC,
CASE value
WHEN 'count_30' THEN '30'
END DESC,
CASE value
WHEN 'count_50' THEN '50'
END DESC,
CASE value
WHEN 'count_130' THEN '130'
END DESC,
CASE value
WHEN 'count_200' THEN '200'
END DESC;
出力:
table1.id table2.id value
2 2 count_200
3 3 count_200
4 4 count_130
2 2 count_50
3 3 count_50
1 1 count_30
3 3 count_30
1 1 count_20
2 2 count_20
... ...
どんな助けでもいただければ幸いです。