2014-02-14 4 views
0

부모 테이블 가입 :카운트 여러 행이 테이블

adverts 
- id 

자식 테이블 :

advertsitems 
- id 
- advertid 
- price 
- quantity 

나는 advertid에 따라 양을 계산하기 위해 노력하고있어하지만 어떻게 든 내가이 작업을 얻을 수 없다 . 이것은 내가 가지고있는 것입니다.

SELECT adverts.title AS adtitle, 
     adverts.id AS adid, 
     adverts.image AS image, 
     description, 
     price, 
     shipping, 
     customs, 
     createdate 
    FROM adverts 
     LEFT JOIN advertsitems 
        ON adverts.id = advertsitems.advertid 
GROUP BY adid 
ORDER BY adid DESC 

COUNT (advertsitems.quantity)를 추가하려고했지만 계산되지 않았습니다.

+0

질문이 구조적으로 잘못되었지만 'SUM'이 필요하십니까? – Alexander

답변

0

price 필드를 집계하지 않고 advertsitems에서 가져옵니다. 이것은 임의의 행으로부터 가격을 끌어 낸다. 다음 쿼리는 이것을 min()으로 바꿉니다. max() 또는 avg()을 원할 수도 있습니다.

가격이 select 인 모든 열을 adverts 테이블에서 가져온 것으로 가정합니다. 해당 별칭이 접두사로 붙습니다.

마지막으로, 내가 원하는 것은 sum(quantity)이 아니라 count(quantity)이라고 생각합니다.

SELECT a.title AS adtitle, 
     a.id AS adid, 
     a.image AS image, 
     a.description, 
     sum(ai.quantity) as quantity 
     min(price) as LowestPrice, 
     a.shipping, 
     a.customs, 
     a.createdate 
    FROM adverts a LEFT JOIN 
     advertsitems ai 
     ON a.id = ai.advertid 
    GROUP BY a.id 
    ORDER BY a.id DESC 
+0

답장을 보내 주셔서 감사합니다. 임씨는 당신의 질문을 시도하고 당신을 업데이 트 유지, 메신저 내 발렌타인 바로 지금, 감사합니다 !! – Dylan

+0

감사합니다. 문의 해 주셔서 감사합니다. 나는이 게시물 위에 게시 된 다음 질문을 가지고있다 (너무 길다). – Dylan