SELECT attribute_value.value
FROM attribute_value
INNER JOIN attributes ON attributes.id=attribute_value.attribute_id
WHERE attributes.attribute IN (colour, size);
나는이 일을 제대로하지 않지만, 내가 얻는 오류는 # 1054입니다 - 알 수없는 ' where 절 '"JOIN", "WHERE"및 "IN"사용 (mysql + php)
관련 속성의 값을 가져 오려고합니다. 현재 속성이 "IN"절에 명시되어 있습니다하지만이 같은 연관 배열 사용하는 방법을 알고 싶어 :
Array([attributes] => Array ([0] => Colour [1] => Size)
표
ATTRIBUTE_VALUE을______________________________
| attribute_id | value |
------------------------------
| 1 | Red |
| 1 | Blue |
| 2 | Large |
표
속성분명히하기 위해 여러 속성이 게시되고 이러한 속성 만 사용하여 attribute_value의 값을 가져옵니다. 여기서 attribute의 속성 ID는 attribute_value의 attribute_id와 같습니다.
이'attributes.attribute IN ('color', 'size')'를 사용해보십시오. – user2989408
'colour'와'size'는 실제로 문자열 상수입니다. 따옴표가 없다면, mysql은 그것들을 필드 이름으로 해석 할 것이다. – SirDarius