2013-10-03 2 views
0

Я использую пакет Invision Power Board для покупок, но они не предоставляют способ получить общую сумму, которую заплатил клиент. Поэтому я пытаюсь написать SQL-запрос для этой информации. Мои знания SQL чрезвычайно ограничены, поэтому ... Возможно, я ошибаюсь.MySQL - Сложность получения суммы с другими данными между двумя таблицами

Из того, что я собрал, информация, которая мне нужна, находится на двух таблицах, но способ ее выхода не полезен для меня, поскольку он выводит каждую отдельную покупку с единственным уникальным идентификатором участника (относительно бесполезным в массовых операциях и экзамене)

Я до сих пор дошли до этой точки ...

SELECT member_id, email, name, 
SUM(ibf_nexus_invoices.i_total) as SUM_TOTAL 
FROM ibf_members 
RIGHT JOIN ibf_nexus_invoices ON ibf_members.member_id = ibf_nexus_invoices.i_member 
WHERE ibf_nexus_invoices.I_status = "paid"; 

Это все берет из таблицы членов и таблицу счетов-фактур, и выводит его, как это ..

------------------------------------------------------------ 
member_id  | email   | name  | SUM_TOTAL | 
------------------------------------------------------------ 
    4   | [email protected] | "Derek" | 184.22  | 
------------------------------------------------------------ 

На первый взгляд это похоже на то, что я хочу. Но он возвращает только одного человека, а не всех людей в списке участников. Кто-нибудь достаточно разбирается в SQL, чтобы помочь мне в правильном направлении?

ответ

1

Вам нужно добавить

GROUP BY member_id 

в конце запроса, чтобы получить строку для каждого человека. В противном случае совокупные функции, такие как SUM(), объединяют все строки в результате.

Смежные вопросы