저는 MySQL을 사용하고 있습니다. 복잡한 SQL 문장을 단순화하려고합니다.SQL 문장에서 표현식을 다시 사용하십시오.
쿼리는 이것이다 :
SELECT `provider`.*,`products`.`placement`,`price`.`price`+
IFNULL((SELECT `price` FROM `price` WHERE `handle`=
(SELECT `group` FROM `group_provider` WHERE `provider_id`=`provider`.`id`)),'0') AS `price`
FROM `provider`
LEFT JOIN `products` ON `provider`.`id`=`products`.`web`
LEFT JOIN `price` ON `price`.`handle`=`provider`.`id`
WHERE `products`.`type`='$PRODUCT_TYPE'
AND `price`.`price`+
IFNULL((SELECT `price` FROM `price` WHERE `handle`=
(SELECT `group` FROM `group_provider` WHERE `provider_id`=`provider`.`id`)),'0')>0
이 쿼리는 완벽하게 작동하지만, 문제는 내가 반복되는 항목을 가지고 있고 그것을 단순화하는 방법을 모른다는 것이다. 반복되는 항목은 다음과 같습니다.
`price`.`price`+
IFNULL((SELECT `price` FROM `price` WHERE `handle`=
(SELECT `group` FROM `group_provider` WHERE `provider_id`=`provider`.`id`)),'0')
어떤 아이디어로 간단하게 작성할 수 있습니까? 감사합니다
데이터베이스가 MyISAM을 사용 중이므로보기가 옵션이 아닙니다. 내가 아는 한 MyISAM은 뷰를 지원하지 않는다. ( – Ivan