2011-10-18 4 views
0

쿼리를 함께 쓰는 데 문제가 있습니다. 이미지가 "편집"섹션에있는 경우 이미지를 표시해야합니다. 그런 다음 이미지가 표시되도록 명령을 내리면 편집 이미지가 먼저 표시되지만 해당 섹션에 정렬되지 않으면 기본값으로 표시됩니다. 이미 주문 된 정규 이미지 (편집 유형 이미지가 아닐 수도 있지만 사용할 수있는 이미지가없는 경우 선호 이미지 임). 내가 지금 가지고있는 것은 쿼리 아래입니다하지만 편집은 첫번째 이미지를 위 오히려 "ordered_by가 '우선 것으로 보인다 당겨하지 않습니다Mysql : 테이블에서 당기기

아마
SELECT i.img_name, a.artist_path_name, a.artist_dir, a.artist_name, ck.catKey_id   
FROM images AS i JOIN artists AS a USING (artist_id) 
JOIN img_cat_table AS imc USING (img_id) 
JOIN catkeys AS ck USING (catKey_id) 
WHERE site = 'editorial' AND editorial_order = 1 OR ordered_by = 1 GROUP BY artist_name ORDER BY ed_banner 

그 뭔가 바보 내가 실종 오전 -. 일체의 도움에 감사드립니다

답변

1

시도 뭔가 같은 :.

... 
ORDER BY CASE WHEN site = 'editorial' AND editorial_order = 1 THEN 1 ELSE 2 END, 
     ed_banner 
+0

도움 주셔서 감사합니다. Joe - –

0

또는 간단한 방법

ORDER BY (site = 'editorial' AND editorial_order = 1) DESC, ed_banner 
에서 같은 생각

단순히 FALSE, TRUE의 순서를 사용합니다.

WHERE 절에서 해당 조건을 제거해야합니다.