以下のクエリはエラーを出しています:
SELECT DISTINCT dealer_state
FROM A
WHERE country='SS'
UNION
SELECT DISTINCT dealer_state
FROM B
WHERE country='SS'
ORDER BY upper(dealer_state)
order by句でupper(column)を使用してソートする方法は?
B
クエリが与えている「エラー」が、期待どおりにレコードの中からレコードを並べ替えていないことであると仮定すると、クエリを並べ替えを実行するクエリのサブクエリにA
する必要があります。UNION
SELECT dealer_state FROM (
SELECT dealer_state FROM A WHERE country='SS'
UNION
SELECT dealer_state FROM B WHERE country='SS'
) t
ORDER BY upper(dealer_state)
との左端の式は一致する必要がありますDISTINCT
。ORDER BY
最も簡単な方法は、次のようにすることです。
SELECT dds FROM (
SELECT DISTINCT dealer_state AS dds FROM A
WHERE country='SS'
UNION
SELECT DISTINCT dealer_state AS dds FROM B
WHERE country='SS') AS d
ORDER BY upper(dds);