我有一個相當複雜的邏輯查詢,我試圖執行。基本上有一系列相關的表格。我很難找出一個好辦法來處理它。如何處理這個特定的查詢
表:
交易 -
T_ID
折扣 -
D_ID
ITEM_ID
類型(百分比或基本價值)
值
Transaction_Discount -
T_ID
D_ID
項目 -
ITEM_ID
價格
編輯:附加表
購買
T_ID
item_id
我試圖拉應用折扣後調整的價格。我想避免在數據庫中添加調整後的價格的另一列......因爲可以根據已經輸入的數據計算每筆交易的調整後價格(因此,存儲這些數據是多餘的)。
這是基本的邏輯:
if(this transaction had a discount applied)
//apply the discount and return the adjusted price
else(no discount applied)
//pull price
這是可能做到這一點在使用PHP邏輯幾個單獨的查詢。
//1st step - create an array of bool's: true = discount_used/false = no_discount
//2nd step - if(discount_used) return price adjusted to discount
//3rd step - if(no_discount) return price
//4th step - combine the two different arrays
這顯然很笨重。看起來好像有一個更好的方法來做到這一點,可能效率更高。
這是我的理解,你可以執行包含mysql中的邏輯查詢,會有幫助嗎?
如何如果折扣中沒有記錄,則指向商品的交易鏈接? – 2010-01-19 17:31:31
有一張名爲purchase的表格,其中包含item_id - 我沒有發現需要列出它。我是不是該? – 2010-01-19 17:54:42
是的,因爲你所要求的僅僅是你列出的表格是不可能的。 – 2010-01-20 04:52:19