2016-03-07 2 views
0

Мой кодПростой (?) MySQL Группа по запросу

select 
    (select ifnull(sum(registerAmount),0) 
    from register where register.orderID = orders.orderID) as theTotal 
from orders 
left join register on orders.orderID = register.orderID 
where orders.customerID = 17 and invSent = true 

Отображение 8 строк ... 5 содержат ноль и 3 нет.

Если добавить

group by orders.customerID 

я получаю одну строку, содержащую ноль.

Как получить одну строку, содержащую общую сумму?

+0

левый OUTER присоединиться возможно? – Randy

ответ

0

Если вам просто нужна одна строка с общим количеством всего, просто сделайте простой INNER JOIN и выберите сумму.

SELECT IFNULL(SUM(registerAmount), 0) as theTotal 
FROM orders 
INNER JOIN register ON orders.orderID = register.orderID 
WHERE orders.customerID = 17 and invSent = true 
+0

Это на самом деле часть большого запроса, который я пытаюсь отлаживать. – Sheldon

+0

Извините, я не читатель ума, я не могу сделать свой ответ подходящим в более широком контексте, если я не знаю, что это такое. – Barmar

+0

Ох ... искал читателя разума. – Sheldon

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