0

私の演習では、列と「場所の数」を含むUNION2つのを含むクエリを作成するように述べています。結果は、国内の場所の数を含むすべての国のリストである必要があります。リストは、地域IDと国名で並べ替える必要があります。SELECTREGION_ID, REGION_NAME, COUNTRY_NAME

演算子を使用したロジックがよくわかりませんunion。このクエリの結果には、その国の場所の数を含むすべての国のリストが含まれている必要があります。私がやったことは:

(select reg.region_id, reg.region_name, coun.country_name
from countries coun, regions reg
where reg.region_id=coun.region_id
order by region_id, country_name)
UNION
(select ...);

ここで次に何が起こるかわかりません。私が書いたパラメータが正しいかどうかはわかりません。unionここで演算子の使い方を知りたいのですが。ちなみに、私はhrテーブルスキーマを使用しています。

4

1 に答える 1

0

あなたの教授が望んでいるのは、同じ列にリストされる国名と地域名になることだと思います。この場合、UNIONを使用するのが理にかなっています。結果のクエリは次のようになります。

(select region_id, 0, region_name
from regions)
UNION
(select reg.region_id, coun.contry_id, coun.country_name
from countries coun, regions reg
where reg.region_id=coun.region_id)
order by 1, 2

上記のクエリでは、country_idという列があると想定しています(並べ替えに適しているため、最初にリージョン#1が続き、このリージョンに属するすべての国がベイに続き、リージョン#2がその国になります)。 country_idがない場合は、次のクエリを使用して同じ並べ替えを実行できます。

(select region_id, 0, region_name
from regions)
UNION
(select reg.region_id, 1, coun.country_name
from countries coun, regions reg
where reg.region_id=coun.region_id)
order by 1, 2, 3
于 2013-03-18T04:42:25.453 に答える