你好人Stackoverflow!我一直在挑戰自己的大腦。Mysql,當變量依賴於其他選擇時計算sum()
我有一個查詢來計算出售的特定銷售產品的總和,這很容易。這讓我瘋狂的挑戰的第二部分是:
有一些銷售由「捆綁」組成,這意味着單個產品的總和不等於最終價格。爲了銷售成捆,它必須有一個「電視」產品。電視產品可以自己出售,並有相關的價格,但是當它是捆綁包的一部分時,價格是可變的。以下是我迄今爲止:
定價矩陣定
ProdDescription ProductID Rank A Rank B Rank C
Phone 1 $229.00 $92.00 $18.00
Long Distance 2 $46.00 $46.00 $18.00
Internet 786K 3 $103.00 $84.00 $23.00
Internet 1.5M 4 $113.00 $94.00 $23.00
Internet 3M 5 $118.00 $99.00 $23.00
Internet 10M 6 $123.00 $104.00 $23.00
Internet 25M 7 $141.00 $113.00 $41.00
Ultra Internet 8 $188.00 $94.00 $23.00
TV 9 $123.00 $95.00 $23.00
TV and Ultra Int $311.00 $234.00 $141.00
TV and Phone $352.00 $91.00 $46.00
TV, Phone, & Long Dist $398.00 $229.00 $137.00
TV, Phone, & any Int $465.00 $268.00 $206.00
TV,Phone,Long Dist,&any Int $515.00 $274.00 $229.00
正如你可以看到我已經沒有分配的productID對束,B/C我試圖創建束單獨的產品ID和甚至考慮過如果單個產品被選中時使用php來根據一組規則以編程方式分配產品ID,但是然後我失去了最終統計/查詢構成該捆綁/銷售的單個產品的能力。
我是否在推翻這個?是否有可能只使用SQL或至少限制PHP方面?
下面的表格顯示了該TV產品的計算價格,該價格基於哪個包和它所屬的排名。我創建了這個,因爲我正在考慮如果該TV產品出現在連接計算中,則使用if語句引用此表。
A B C
DoublePlay-Ultra Internet $123 $140 $118
DoublePlay-Phone $123 $(1) $28
TriplePlay-Phone & Long Distance $123 $91 $101
TriplePlay-Phone & Internet 786K $133 $92 $165
TriplePlay-Phone & Internet 1.5 M $123 $82 $165
TriplePlay-Phone & Internet 3M $118 $77 $165
TriplePlay-Phone & Internet 10M $113 $72 $165
TriplePlay-Phone & Internet 25M $95 $63 $147
TriplePlay-Phone & Ultra Internet $48 $82 $165
QuadPlay-Phone & Long Dist & Inter 786K $137 $52 $170
QuadPlay-Phone & Long Dist & Inter 1.5 M $127 $42 $170
QuadPlay-Phone & Long Dist & Inter 3M $122 $37 $170
QuadPlay-Phone & Long Dist & Inter 10M $117 $32 $170
QuadPlay-Phone & Long Dist & Inter 25M $99 $23 $152
QuadPlay-Phone & Long Dist& Ultra Inter $52 $42 $170
這個問題是越來越離譜了,這樣我會停在那裏,但請這是否有道理,沒有任何人有什麼建議?非常感謝!
凡「任何INT」被提供,在將「超」不能選擇什麼情況?它與本地可用性有關嗎? – Strawberry 2013-03-21 14:43:16
Ultra是最高/最快的速度。如果我們正在測試任何互聯網,它將被包含在「或()」類型的計算中,但就Double Play捆綁而言,Ultra是唯一符合第一個雙重播放TV&Ultra的速度互聯網。那有意義嗎?再次感謝您的幫助! – alex 2013-03-21 16:08:43