在那裏,如何縮短這個MySQL查詢?
是否有反正縮短這個MySQL查詢的所有?它需要根據價格規則從名爲RuleValue的列中的PriceRuleDetail表中獲取兩個不同的行,但使用別名將它們返回到同一行中。它使用select語句內的子查詢,我認爲這是正確的,但可能有更簡單的方法?
下面確實工作正常,我很滿意它,但我想知道是否有一種方法使這個更短?
SELECT Stock.*,
(SELECT PriceRuleDetail.RuleValue
FROM PriceRuleDetail
WHERE PriceRuleDetail.Sku = Stock.Sku
AND PriceRuleDetail.PriceRule = 'RG'
AND PriceRuleDetail.Quantity = 1) as Price,
(SELECT PriceRuleDetail.RuleValue
FROM PriceRuleDetail
WHERE PriceRuleDetail.Sku = Stock.Sku
AND PriceRuleDetail.PriceRule = 'RRP'
AND PriceRuleDetail.Quantity = 1) as WasPrice
FROM Stock, StockCategoryMemberList
WHERE StockCategoryMemberList.Sku = Stock.Sku
AND StockCategoryMemberList.CategoryCode = 'FIRE'
在此先感謝。
安迪
的情況下,我發現這是所有答案中最快的,並且當然是最具可讀性的。 非常感謝您的幫助! – Schodemeiss 2009-12-14 13:10:59
你已經更快了......我的文本編輯器中有相同的請求。 – Arno 2009-12-14 13:11:05