0

私は3つのテーブルを持っています:

ホテル:id、hotel_name

hotel_supplier:id、supplier_name

hotel_price:id、hotel_id、supplier_id、allotment、price

ホテル価格の降順の合計(割り当て)でホテルの順序からすべてを選択したいので、結果は割り当てが最も多いホテルからソートされます。これを行う方法..?、感謝して受け取ったアイデア...、ありがとう。

申し訳ありませんが、1つ忘れてしまいました。別の条件があります。hotel_priceでは、price == 0の場合、行の割り当てはsum(allotment)にカウントされません。

4

1 に答える 1

4

このバリアントを試してください:

select h.id, h.hotel_name, sum(hp.allotment)
  from hotel h join hotel_price hp on (h.id = hp.hotel_id)
 group by h.id, h.hotel_name
 order by 3 desc;
于 2012-05-16T09:10:55.920 に答える