ショッピングセッション全体で特定の条件(または組み合わせ)に基づいて製品がランク付けされている頻度を知るためにループを作成/使用する際に問題があります。プロシージャまたはファンクションなしの各SELECTおよびCOUNTのループ
これは私が例えば私のDBに持っているものです。
Product | Price_countWhenCheapest | PriceQuality_countWhenHighest | Promotion_countWhenYes | Exclusivity_countWhenYes
-----------------------------------------------------------------------------------------------------------------------------------------
ProductA | 0 | 0 | 1 | 1
ProductB | 0 | 0 | 0 | 2
ProductC | 1 | 1 | 0 | 0
ProductD | 1 | 1 | 2 | 0
注:私が望む何
Session | Product | Price | PriceQuality | Promotion | Exclusivity
-----------------------------------------------------------------------------------------------
Session1 | ProductA | 50 | 7 | Yes | No
Session1 | ProductB | 40 | 6 | No | Yes
Session1 | ProductC | 30 | 8 | No | No
Session1 | ProductD | 20 | 9 | Yes | No
Session2 | ProductA | 30 | 6 | No | Yes
Session2 | ProductB | 40 | 7 | No | Yes
Session2 | ProductC | 20 | 9 | No | No
Session2 | ProductD | 50 | 8 | Yes | No
が存在する各ラベルのための出力のこの種を持っていることですので、私は(クラウド)DBにSUPER特権を持っていないので、手続きや関数を使うことはできません。
編集:私はセッション(セッション3)と私のテストDBを展開すると
- 、列 Price_countWhenCheapestとPriceQuality_countWhenHighestは(出力を見て)1を超えていない のカウントを行います。
- セッションに関する詳細情報を持つCustomerという別のテーブルがあります。例えば。そのセッションの顧客または性別の年齢。出力にこれをどのようにして結合することができますか:
2.1。フィルター(WHEREステートメントを使用している可能性があります) '男性'しかないセッション
2.2。たとえば(サブ)カウントを
:Price_countWhenCheapestTestrow_id Session Product Price PriceQuality Promotion Exclusivity 1 Session1 ProductA 50 7 Yes No 2 Session1 ProductB 40 6 No Yes 3 Session1 ProductC 30 8 No No 4 Session1 ProductD 20 9 Yes No 5 Session2 ProductA 30 6 No Yes 6 Session2 ProductB 40 7 No Yes 7 Session2 ProductC 20 9 No No 8 Session2 ProductD 50 8 Yes No 9 Session3 ProductA 30 6 No Yes 10 Session3 ProductB 40 7 No Yes 11 Session3 ProductC 20 9 No No 12 Session3 ProductD 50 8 Yes No
追加セッション3は、DBをテストするために、男性のお客様は、製品が格安だった(そしておそらくも25歳を持っていた顧客のためにPrice_countWhenCheapest_25)セッションに参加しましたどのように多くを見つけるために「Price_countWhenCheapest_male」という名前今の
出力:
Product Price_countWhenCheapest PriceQuality_countWhenHighest Promotion_countWhenYes Exclusivity_countWhenYes
ProductA 0 0 1 2
ProductB 0 0 0 3
ProductC 1 1 0 0
ProductD 1 1 3 0
ありがとうございました。これは非常に複雑な声明です。私は試してみるが、何が何をするのか把握しなければならない。 – Dev
私の答えが最初の質問を解決したかどうかも言わないうちに質問を拡大しています... –
私は申し訳ありませんが、私が1で説明しようとしたように、最も安い保険料と最高価格は正しく機能します。プロモーションと独占のカウントがしました。 – Dev