여기에이 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
더 빨랐어 요 ... 텍스트 편집기에서 같은 요청을 받았습니다. – Arno