내 (매우 단순화 된) 스키마에는 offer, attributes, attributes_offers의 3 개의 테이블이 있습니다.Mysql : 하위 쿼리에서 파생 테이블 사용
SELECT
o.offer_id,
GROUP_CONCAT(CONCAT(attr.attribute_code,'-',attr.value_id,'-',attr.value_value) SEPARATOR ';') AS attributes,
(SELECT attr.value_id FROM attr WHERE attribute_code = 'area') AS area_id,
(SELECT attr.value_id FROM attr WHERE attribute_code = 'category') AS category_id
FROM offers o
INNER JOIN (
SELECT offer_id,attribute_code,value_id,value_value
FROM attributes_offers ao
INNER JOIN attributes att USING (attribute_code)
) AS attr ON attr.offer_id = o.offer_id
을하지만 MySQL은 나에게 답 :
나는이 쿼리에 파생 테이블에서 하위 쿼리를 사용하려면 Table 'attr' doesn't exist
.
Group_concat이 잘 작동합니다.
선택 하위 쿼리에서 파생 테이블 attr을 사용하는 방법이 있습니까?
때문에 다른 쿼리를 수행하려고 value_id . 별명'attr'을 내부 조인 질의의 다른 이름으로 변경하십시오. – Bajrang