2015-01-06 3 views
0

나는 제품 및 그 이미지를 얻을 수있는 쿼리를 만들었습니다. 제품에 이미지가있는 경우 쿼리가 제대로 작동합니다. 그러나 그것은 이미지가없는 제품을 얻지 못합니다. 이미지가없는 제품도 가져 오는 방식으로이 쿼리를 만들 수 있으며 이러한 경우 모든 제품에 기본 이미지가 사용됩니다. 쿼리는제품 세부 사항 및 관련 제품 이미지를 얻는 쿼리

SELECT u.f_name, 
     u.l_name, 
     u.contact, 
     u.user_id, 
     u.address, 
     u.city, 
     u.org_name, 
     u.website, 
     p.id AS product_id, 
     p.name AS product_name, 
     p.price AS product_price, 
     p.quantity AS product_quantity, 
     p.description AS description, 
     g.photo_url AS product_image 
FROM user_profile u, 
    product p, 
    gallery g 
WHERE p.category_id='1' 
    AND p.subcategory_id='2' 
    AND p.seller_id=u.user_id 
    AND g.main_id=p.id 
    AND g.type_id='2' 
GROUP BY p.name 

답변

1
SELECT u.f_name, 
     u.l_name, 
     u.contact, 
     u.user_id, 
     u.address, 
     u.city, 
     u.org_name, 
     u.website, 
     p.id AS product_id, 
     p.name AS product_name, 
     p.price AS product_price, 
     p.quantity AS product_quantity, 
     p.description AS description, 
     CASE WHEN g.photo_url IS NULL THEN 'some_default_url' ELSE g.photo_url END AS product_image 
FROM user_profile u 
RIGHT JOIN 
    product p ON p.seller_id=u.user_id 
JOIN 
    gallery g ON g.main_id=p.id 
    AND p.category_id='1' 
    AND p.subcategory_id='2' 
    AND g.type_id='2' 
GROUP BY p.name 

당신은 더 제어 결과를 일부 열 일부 집계 함수를 넣을 수 있습니다. 기본 이미지에 대한

CASE WHEN g.photo_url IS NULL THEN 'some_default_url' END AS product_image 
+0

우리가 [채팅에서이 토론을 계속]하자 (http://chat.stackoverflow.com/rooms/68294/discussion-between-mihai-and-user1001176). – Mihai

+1

여기가 수수께끼입니다 http://sqlfiddle.com/#!2/3daaa3 – user1001176

+1

@ user1001176 테이블 제품은 어디에 있습니까? – Mihai

관련 문제