のHy、は、私はOracleで次のSQLクエリを持っているところオラクル
のサブクエリと合体:
は、私は、「ID」と「名前」フィールドやその他の持つテーブル「アイテム」を持っている想像してみてテーブル "prices_items"には、 "id、itemId、category"という3つのフィールドがあります。カテゴリには3つの値、「1,2,3」があります。だから私がする必要があるクエリは、 "price_items"テーブルのアイテムの価格を得ることですが、アイテムはカテゴリフィールドのために3つの価格まで持つことができます。だから、priotiryの順序では、私はカテゴリ1を持っているアイテムの価格を取得する必要があります、アイテムがこのカテゴリを持っていない場合は、カテゴリ2の価格を見つける必要があります。
from items
left join prices_items on prices_items.itemId = items.itemId
where prices_items.id = coalesce(select id
from prices_items
where itemId= items.itemId and category=1,
select id
from prices_items
where itemId= items.itemId and category=2,
select id
from prices_items
where itemId= items.itemId and category=3)
私が使用しているクエリは、このようなものですが、私は合体がそれぞれ上で実行されているので、その作業に参加する方法を知りません?。これはどのように実行されていますか?
おかげ
ようにクエリが動作しますか?何が問題ですか? –
このドキュメントのリンクは - [coalesce](https://docs.oracle.com/cd/B28359_01/server.111/b28286/functions023.htm) - help? – Plirkee
合体が一度だけ実行されると思いました。私が言っていることは、融合が複数回実行されるということですか? – user3254515