0
我不確定這是否可能。我有一個表members
和第二個表transactions
。從一個表中獲取數據並從另一個表中匹配記錄數
我需要從members
表中獲取成員的名稱,還要計算成員從另一個表中創建的事務數。這甚至可能在JOIN語句中,還是我需要寫兩條語句?
SELECT
m.first_name,
m.last_name,
COUNT(t.giver_id),
COUNT(t.getter_id)
FROM
members AS m
JOIN
transactions AS t
ON
m.id = t.giver_id
WHERE
m.id = $i
我要補充,這是可能的成員並沒有作出任何交易,因此不會出現在transactions
表。
當我運行此代碼時,它將返回所有NULL
列。當我添加EXPLAIN
聲明時,MySql說「讀取const表後不可能注意到......」
這可能嗎?如果是這樣,那麼我做錯了什麼?提前致謝。
編輯: 樣本數據結構和預期產出:
members
id | first_name | last_name
_______________________________
1 | Bill | Smith
2 | Joe | Jones
transactions table
id | giver_id | getter_id | status
________________________________________
1 | 1 | 2 | complete
2 | 1 | 2 | complete
所以運行我的查詢應該返回:
1 | Bill | Smith | 2 | 0
2 | Joe | Jones | 0 | 2
謝謝。我剛剛嘗試過,但它錯誤地將't.getter_id'計數爲與't.giver_id'相同的值。我是否需要修改'ON'語句以允許在't.getter_id'和't.giver_id'列上進行計數? – freeworlder
你可以修改你的問題並提供預期輸出的數據樣本嗎? –
已添加樣本數據和預期輸出。 – freeworlder