2012-08-06 5 views
1

사용자가 제출 한 값으로 설정된 지정된 TV가있는 모든 문서를 찾을 ModX 스 니펫을 작성하는 중입니다.MySQL이 원하는 결과를 생성하지 못함

다음은 내가 작업하고있는 테이블에 대한 설명입니다. http://wiki.modxcms.com/index.php/Template_Variable_Database_Tables

여기 내 쿼리입니다 : 이와 같은

SELECT contentid 
FROM prefix_site_tmplvar_contentvalues 
JOIN prefix_site_tmplvar_contentvalues 
ON prefix_site_tmplvars.id = prefix_site_tmplvar_contentvalues.tmplvarid 
WHERE value="Red" 

현재는 생산하고있어 결과 : 각 문서 ID는 각 템플릿 변수에 대한 결과에 새 행이있을 것이다 http://pastebin.com/mEJ1w2be

. 예를 들어, 7455의 경우 material = "wood"의 color = "red"와 size = "small"의 배열이 있습니다. 빨강, 작고 나무로 만든 제품을 찾고 싶다면 어렵습니다.

문서 ID와 연관 값이있는 템플릿 변수가있는 제품 당 하나의 행을 얻을 수 있도록 이러한 테이블을 결합 할 수있는 방법이 있습니까?

+0

콘텐츠 ID 만받는 경우 왜 참여하고 있습니까? 그냥 site_templvar_contentvalues에서 선택하십시오. –

답변

1

GROUP BY contentid 

이 함께 동일한 콘텐츠 ID를 가진 모든 행을 smush 것보십시오.

+0

고맙습니다. 그것들을 함께 뭉개 버리고 있지만 각 행의 "값"중 하나만 보여 주므로 group_concat (값)을 사용했고 이제는 그것들을 모두 보여줍니다. 그래서, 이제는 "붉은 색", 일부는 "나무", 그리고 일부는 "붉은 색"의 기록으로 끝납니다. "red"또는 "wood"만으로 레코드를 필터링하는 가장 좋은 방법은 무엇입니까? – Vecta

+0

'WHERE value = "red"OR 값 = "wood"'? –

관련 문제