Здесь,
Есть ли в любом случае сокращение этого запроса MySQL вообще ??? Необходимо получить две разные строки из таблицы PriceRuleDetail из столбца с именем RuleValue на основе правила цены, но при использовании псевдонима они должны быть возвращены в одной строке. Он использует подзапросы внутри оператора 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'
Заранее спасибо.
Andy