
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.05.2014, 15:31:19
|
|||
|---|---|---|---|
|
|||
суммирование с условием |
|||
|
#18+
Добрый день, посоветуйте что можно сделать. Есть триггерная функция которая вычисляет сумму лотов из таблицы lots (SUM(l.start_price)) и пишет это значение в другую таблицу(start_price). Нужно изменить запрос так, чтобы сумма лотов вычислялась с учетом типа валюты лота (l.currency). Например если рубли то ничего не меняется, если тип валюты другой, то должен умножаться на коэффициент и это всё суммируется. Раньше выглядело так: Код: plsql 1. Можно ли такое осуществить? Как правильно это оформить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.05.2014, 15:57:34
|
|||
|---|---|---|---|
|
|||
суммирование с условием |
|||
|
#18+
SUM(l.start_price * l.currency) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2014, 12:53:23
|
|||
|---|---|---|---|
|
|||
суммирование с условием |
|||
|
#18+
l.currency это id валюты, которое связывается с таблицей курсов валют. Мне нужно чтобы если валюта не рубли то умножалось на курс, если валюта то ничего. И потом всё складывалось все значения. На php было бы примерно так: Код: php 1. 2. 3. 4. 5. на pgsql не знаю как так написать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2014, 12:54:45
|
|||
|---|---|---|---|
|
|||
суммирование с условием |
|||
|
#18+
Catty, если валюта не рубли то ничего не умножается то есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2014, 13:02:11
|
|||
|---|---|---|---|
|
|||
суммирование с условием |
|||
|
#18+
FROM lots AS l LEFT JOIN currency AS c ON (l.currency=c.id) SUM(l.start_price * coalesce(c.ratio, 1)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2014, 14:09:46
|
|||
|---|---|---|---|
|
|||
суммирование с условием |
|||
|
#18+
спорим там в таблцие курсов еще и даты и есть, и курсы надо на дату брать, и не просто на ближайшую не большую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2014, 14:10:32
|
|||
|---|---|---|---|
|
|||
суммирование с условием |
|||
|
#18+
Cattyl.currency это id валюты, которое связывается с таблицей курсов валют. Мне нужно чтобы если валюта не рубли то умножалось на курс, если валюта то ничего. И потом всё складывалось все значения. На php было бы примерно так: Код: php 1. 2. 3. 4. 5. на pgsql не знаю как так написать SUM(l.start_price * case when l.currency = 'RUB' then 1 else rate end) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=1998692]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
184ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 494ms |

| 0 / 0 |
