2012-09-22 7 views
1

여러 레코드가 검색 될 때 어디에서나 찾을 수 있도록 검색했습니다. 하나의 필드를 모두 추가해야합니다. 내 쿼리 및 결과.결합하여 결과를 더하기

id Merchant Name Stampts UserStampts 

391 360 Gourmet Burritos 9 3 
391 360 Gourmet Burritos 10 6 

나는 idMerchant Name을 결합해야합니다

SELECT m.id as 'id', m.name as 'Merchant Name', c.numStamps as 'Num Stampts on Card', COUNT(c.numStamps) as '# Users with this # Stampts' 
FROM Merchants m, Cards c, Stores s 
WHERE c.store_id = s.id 
AND s.merchant_id = m.id 
and c.redeemed = 0 
and c.Numstamps>8 
and c.datelaststamp > '2011-07-16 07:00:00' 
group by m.id, c.numStamps 
order by m.name, c.numStamps 

이러한 결과는 다음과 같습니다

내 쿼리입니다. Stampts은별로 중요하지 않지만 함께 추가해야합니다. UserStampts. 그래서 나는 것으로 반환을 필요

SELECT id, Merchant, SUM(Stampts) AS Stampts, SUM(UserStampts) AS UserStampts 
FROM (... your old query goes here ...) AS oldquery 
GROUP BY id, Merchant; 

이됩니다

391 360 Gourmet Burritos 10 9 

답변

0

가 중첩 된 쿼리로를 설정하는 것이 쿼리를 수정하는 간단한 방법을이

SELECT m.id as 'id', m.name as 'Merchant Name', c.numStamps as 'Num Stampts 
on Card', COUNT(c.numStamps) as '# Users with this # Stampts' 

FROM Merchants m, Cards c, Stores s 

WHERE c.store_id = s.id 

AND s.merchant_id = m.id 

and c.redeemed = 0 

and c.Numstamps>8 

and c.datelaststamp > '2011-07-16 07:00:00' 

group by m.id 

order by m.name, c.numStamps 
+0

내가 필요한 모든이었다. 때로는 상황이 그렇게 단순 할 수 있습니다. 도와 주셔서 감사합니다. – Kane

+0

welcome :) .... 대답으로 plz 마크 – iJade

1

시도 두 열을 모두 합산합니다 (독립적으로).

0

당신은뿐만 아니라 이름으로 그룹에 필요 단지 m.id에 의해 그룹화

group by m.id, m.name, c.numStamps