2016-06-10 81 views
0

我有一個表結構像以下:返回從許多單個記錄到許多表

用戶=>瀏覽歷史< =品牌

史表不斷下列:用戶id,brandId,點

我有一個像下面的查詢:

select b.id, sum(h.points),h.brandId 
from brands b left join 
    histories h 
    on b.id = h.brandid and h.userId = 2866 
group by b.id; 

該查詢返回我這裏品牌用戶作出點,並沒有作出任何點所有..

我想爲brandI添加一個過濾器,以便查詢不會返回所有結果,但一次只能得到一個結果,具體取決於發送給查詢的brandId ...我如何以及何處可以我添加一個聲明,這將返回給我這個查詢單個記錄?所以基本上我只需要傳遞brandId =的東西陳述,留下查詢它的自我,因爲它是現在... :)

回答

1

例如,如果品牌標識是100

select b.id, sum(h.points),h.brandId 
from brands b left join 
    histories h 
    on b.id = h.brandid and h.userId = 2866 
where b.id=100 
group by b.id 
limit 1;