1

私はできる限り私の問題を説明しようとします。

ユーザーがさまざまなパラメーターを選択し、さまざまな値を入力してプロパティの検索を実行できる検索フォームがあります。私はテーブルを持っているようにtbl_properties

検索フォームで、ユーザーが [リース、販売、賃貸] を選択し、property_category価格property_typeno_of_bedroomslocation入力districtsproperty_areaますtbl_properties。クエリを書くことは私の問題ではありませんが、私が抱えている問題は、検索結果で次のパターンでレコードをソートしたいということです

  1. 最初の表示結果 - 降順で場所に一致した価格
  2. 次に、地区に合った価格を表示します
  3. 次に表示 - 同じ地区で一致する寝室の数
  4. 次に表示 - 価格/ベッドルーム/プロパティ エリアは一致しましたが、地区が異なります

どうすればこれらの順序でレコードをソートできるかヒントが欲しいのですが?

編集

ここに私が持っているテーブル構造の簡単な説明があります

tbl_properties
-------------------

property_id   INT
category_id    INT
property_name VARCHAR
price         INT
district_id   INT
location       VARCHAR
property_type  ENUM('lease','sale','rent')


tbl_category
-------------
category_id   INT
category_name VARCHAR


tbl_districts
-----------------
district_id INT
district_name VARCHAR


tbl_property_details
------------------------
detail_id      INT
property_id     INT
no_of_bedrooms  INT
property_area  DECIMAL

ありがとう

4

2 に答える 2

3
order by case
    when price between @priceMin and @priceMax 
        and location = @location then 1
    when price between @priceMin and @priceMax 
        and district_id = @districtid then 2
    when no_of_bedrooms = @no_of_bedrooms 
        and districtid = @districtid then 3
    when price between @priceMin and @priceMax 
        and no_of_bedrooms = @no_of_bedrooms 
        and property_area = @property_area and districtid <> @districtid then 4
    else 5
end, price desc
于 2012-10-11T13:23:27.960 に答える
-1

tbl_properties から property_category property_type を選択します __ _ _ _ _ 注文 _ __ ;

そう... ORDER BY price desc;

http://www.sqlcourse2.com/orderby.htmlを使用するための適切なリンクを次に示します。

于 2012-10-11T13:12:22.523 に答える