|
Помогите в запросах
|
|||
---|---|---|---|
#18+
Из одной и той же базы делаю запрос по принятым к оплате счетам: SELECT SUM(cps_) as c,SUM(pkd_) as kd,SUM(cpu_) as cusl,SUM(ps_) as s FROM svod WHERE BETWEEN(m_ed,DATE(2015,01,01),DATE(2015,04,30)) AND plat<>63 AND plat<>6001 AND grp_sk in(61,62,63,64,74) AND ps_<>0 AND cps_<>0 делаю запрос по отказанным в оплате счетам: SELECT SUM(cos_) as co,SUM(pod_) as kdo,SUM(cou_) as cuslo,SUM(os_) as so FROM svod WHERE BETWEEN(m_ed,DATE(2015,01,01),DATE(2015,04,30)) AND plat<>63 AND plat<>6001 AND grp_sk in(61,62,63,64,74) AND os_<>0 AND cos_<>0 делаю запрос по принятым и отказанным в оплате счетам: SELECT SUM(cps_+cos_) as cs,SUM(pkd_+pod_) as kds, SUM(cpu_+cou) as cusls, SUM(ps_+os_) as ss FROM svod WHERE BETWEEN(m_ed,DATE(2015,01,01),DATE(2015,04,30)) AND plat<>63 AND plat<>6001 AND grp_sk in(61,62,63,64,74) AND ((os_<>0 AND cos_<>0) OR (ps_<>0 AND cps_<>0)) В последнем запросе количество суммируется правильно а сумма разнится(если считать по отдельности ручками сумму двух запросов одна, а програмно другая получается). Как быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 17:25 |
|
Помогите в запросах
|
|||
---|---|---|---|
#18+
Olesia_Dav, NULL-ы в суммируемых полях могут быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2015, 06:17 |
|
Помогите в запросах
|
|||
---|---|---|---|
#18+
Olesia_Dav, думаю, что надо добавит и nz в третий запрос запрос по принятым к оплате счетам: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
запрос по отказанным в оплате счетам: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
запрос по принятым и отказанным в оплате счетам: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2015, 07:08 |
|
Помогите в запросах
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, Все равно стоимость получается больше, хоть как считай ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2015, 12:27 |
|
Помогите в запросах
|
|||
---|---|---|---|
#18+
Olesia_Dav, Приложите таблицу или выполните запрос без сумм и найдите разницу в результатах трех запросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2015, 14:28 |
|
Помогите в запросах
|
|||
---|---|---|---|
#18+
tanglir, я и пытаюсь все значения с нулем убрать как в первом запросе так и во втором, а когда вместе произвожу расчет, то почему-то прибавляется стоимость у которой количество нулевое(раз количество нулевое, то и стоимость не должна прибавляться) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2015, 14:53 |
|
Помогите в запросах
|
|||
---|---|---|---|
#18+
Ноль и NULL разные вещи: NULL + 1 = NULL 0 + 1 = 1 Если поля могут содержать NULL, а надо считать как 0, то использовать функцию NVL() Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2015, 14:58 |
|
Помогите в запросах
|
|||
---|---|---|---|
#18+
Olesia_Davtanglir, я и пытаюсь все значения с нулем убрать как в первом запросе так и во втором, а когда вместе произвожу расчет, то почему-то прибавляется стоимость у которой количество нулевое(раз количество нулевое, то и стоимость не должна прибавляться) Отсюда не видны правила заполнения таблиц, но OR в запросе меня смущает Я бы делал бы два отдельных запроса и через 3й запрос с join получал итог. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2015, 05:19 |
|
|
start [/forum/topic.php?fid=41&msg=38981769&tid=1582325]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 142ms |
0 / 0 |