前面的問題linky:MySQL Left Joins這甚至可能嗎?與左連接。此外MySQL查詢加入
非常親切,我們得到了下面的代碼工作:
select
JustACME.Name,
JustACME.NameCount,
COALESCE(COUNT(*), 0) as CountFromResultsTable
from
(select a.Name,
count(*) as NameCount
from
acme a
group by
a.Name) JustACME
LEFT JOIN results r
on JustACME.Name = r.Name
group by
JustACME.Name
上面的代碼作品完全一樣,我們需要並帶回以下
Name Count Total
Tom 10 5
Bon 9 4
除了該信息在acme
和results
表中,我們還需要帶回更多的信息離子。在「結果」表如下:
Name q1
Tom 1
Tom 2
Tom 1
Bob 3
Bob 2
Bob 1
Bob 2
我想加入到這個查詢,名爲results
的talble還有另一個字段名爲q1
。這可以有一個數字,1,2或3 - 我想要做的是帶回1,2或3出現的次數(計數),每個Name
也出現在表。合理?
基本上,查詢的輸出應該是這樣的:
Name Count Total q1 = 1 q1 = 2 q1 = 3
Bob 9 4 1 2 1
Tom 10 5 4 1 0
我可能的肢體會在這裏,但能不能做到???
由於提前,
H.
這並沒有傷害鏈接到以前的問題,讓你到這一點。 – Sonny
這已被添加桑尼 - 我們正在尋找的更多細節。 –
你有一個錯誤:'COALESCE(COUNT(*),0)'應該是'COALESCE(COUNT(r.Name),0)'。對於不在「結果」表中的名稱,您會得到錯誤的結果(count = 1而不是0)。 –