что наиболее эффективным способом сделать этот запрос:агрегатной SQL/Join над не взаимоисключающий переменными
У меня есть 5 столбцов в таблице: A (уникальные идентификтор), B (группировка переменный), C (группировка переменная), D (значение даты), E (числовое значение) и F (числовое значение), где столбец D = вчера.
B и C не являются взаимоисключающими. Мне нужно найти сумму (E) и сумму (E, где E> 0) для всех C, без другого фильтра в это время, кроме даты (столбец D). Затем мне нужно найти, опять же без какого-либо другого фильтра, кроме столбца D, все B, где sum (E) = 0. Мне нужно, чтобы из этого извлечения был все A, присоединенный к этому последнему запросу с B и E. Затем мне нужно присоединиться эти значения A с суммами запросов на EI выполнялись для C. Я не понимаю, как наиболее эффективный способ сделать это с точки зрения вычислительной эффективности.
Есть ли способ, которым я мог бы выполнить первый запрос всех записей, где D = вчера, и манипулировать данными локально оттуда, а не запускать несколько запросов с внешней базой данных?
спасибо.
Edit:
Таблица:
Column A Column C Column B Column D Column E Column F
1 A A 09/26/2014 50 1000
2 A B 09/26/2014 -20 300
3 A C 09/26/2014 80 23500
4 B A 09/26/2014 -50 5000
5 B B 09/26/2014 40 3100
6 B C 09/26/2014 10 4500
1 A A 09/25/2014 50 1000
2 A B 09/25/2014 -20 300
3 A C 09/25/2014 80 23500
4 B A 09/25/2014 -50 5000
5 B B 09/25/2014 40 3100
6 B C 09/25/2014 10 4500
Мой Желаемый результат:
Column A Column C Column B Column D Column E Column F Sum(E on C/D) Sum(E > 0 on C/D)
1 A A 09/26/2014 50 1000 110 130
4 B A 09/26/2014 -50 5000 0 50
Редактировать квест ион и добавить данные образца и желаемые результаты. Ваше описание действительно, очень трудно следовать. –
Извиняется за неудачную работу по форматированию таблицы. – WestSideStory
Все еще довольно запутанно, как вы получили 110 в столбце Sum (E on C/D) для результата или 130 для Sum (E> 0 на C/D). Не могли бы вы снова проверить свой вопрос и исправить, если что-то нужно исправить. – user1897277