[Tep-j-general] Re: 複数の価格帯を持つ商品の検索

アーカイブの一覧に戻る

hamada bungu****@leo*****
2005年 10月 21日 (金) 18:47:48 JST


こんにちわ。

On Fri, 21 Oct 2005 15:56:59 +0700
"Fujimoto-Kru2krungthep.com" <fujim****@kru2k*****> wrote:

> で、よろしいでしょうか。

え〜っと、当方が聞きたかったのは「DBカラムの設定」ではなく、「この値が一
体なにを意味してるのか」でした(^_^;)

> Aコンドミニアム
>     1LDK 50000円
>     1LDK 60000円
>     2LDK 80000円

となっている場合に、

> products_rents
> products_rents2
> products_rents3
> products_rents4
> products_rents5

のどのカラムにどの値が入ってて、残りのカラムの値はどうなのかという事が知
りたかったのです。でないと抽出条件が組めないので。

また、上記では

> ・products_price2
> ・products_price3
> ・products_price4
> ・products_price5

等についての説明がまったくありませんが、実際に投げるSQLではこの値につい
ての条件もorされてますんで、「Aコンドミニアム」における上記カラムの値も
教えて頂かないとどうにもならないと思います。

貴君が組んでる論理はor→どれかの条件を満たすとtrueになりますんで、全条件
値について把握しておく必要があるのではないかと。

まぁ、今回の問題はそれ以前の『論理の問題』のようですので、もう各値につい
てご説明頂く必要はありませんけど。

> and ((pd.products_rents >= $pfrom) or (pd.products_price2 >= $pfrom) or (pd.products_price3 >= $pfrom) or (pd.products_price4 >= $pfrom) or (pd.products_rents5 >= $pfrom))

貴君が前半で作ってるSQLは↑こうなります(そして、後半で作成されてる$pto
のSQLはその後尾に足される→上記SQLとは関連付かない)ので、

・pd.products_rents >= $pfrom
・pd.products_price2 >= $pfrom
・pd.products_price3 >= $pfrom
・pd.products_price4 >= $pfrom
・pd.products_price5 >= $pfrom

の「いずれかの条件を満たした場合」そのレコードが抽出されることになります
が、本当にこの論理で良いんでしょか?

現状では各カラムに入っている値がなんなのか解りませんので正確なところは解
りませんけど、のちに$ptoが入るとなると、たとえば

 or (pd.products_rents >= $pfrom and pd.products_rents <= $pto)
                                 ^^^

のような(andの)SQLを生成してこれをorすべきじゃないんでしょか? そうで
ないと、価格帯抽出としての用を為さないように思えるんですが。

一度、「取り出したいレコード」と「そのレコードを抽出するための条件」を再
考されることをお勧めします。貴君の投げてる抽出条件は、なんかおかしいです。


はまだ@バックアップを忘れずに
------------------------------
MLログ検索 http://www.bitscope.co.jp/search/tep.html
osC-FAQ http://oscommerce.jouhou.tv/wiki/index.php?FAQ




Tep-j-general メーリングリストの案内
アーカイブの一覧に戻る