|
|
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
Прошу подсказать как можно составить один запрос, который у меня на данный момент разделен на 2 (даже на 3, третий их потом джойнит в один) Исходная таблица: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Необходимо сгруппировать по балан. позиции ([bal]), а столбец [saldoVal] просуммировать по этим сгруппиров. позициям. Но вот проблема, получить надо два просуммированных столбца: 1. в первый (saldoValNorm) отобрать счета: ([prizn]=True AND [saldoVal]<0) OR ([prizn]=False AND [saldoVal]>0) 2. а второй (saldoValRed) соотв.:([prizn]=True AND [saldoVal]>0) OR ([prizn]=False AND [saldoVal]<0) т.е. получить в итоге так: Код: plaintext 1. 2. 3. 4. Пока у меня эти столбцы считаются по отдельности: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Очень бы хотелось впихнуть все это в один запрос, но победить эту группировку я никак не могу. Насколько реально запихнуть в один запрос??? У меня пока в голове токо такие неподходящие варианты: 1. Сначала отдельный запрос с группировкой по [bal] , потом второй запрос на основе этого уже легко суммирует какие хошь поля - однако это уже 2 запроса, а не один... :( 2. написать типа: Sum(Fun1([saldoVal];[prizn])) AS saldoValNorm, Sum(Fun2([saldoVal];[prizn])) AS saldoValRed - где Fun1,2 это VB функции которые внутри себя проверяют условия на признак и отриц. числа и для не своих значений возвращают просто НУЛЬ - запрос один, это круто, но использование своих VB функции сильно подтормаживает выполнение запроса...:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 18:27 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
iif? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 18:30 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
Хмм, по второму варианту вместе с IIf (да, про нее я совсем забыл), ну чтож, завтра протестим, посмотрим что будет быстрее 3 старых запроса или 1 новый... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 18:35 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
iif - какой у него примерно синтаксис? где смотреть на него help? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 21:17 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
В Аксессе нажимаешь alt+f11 И в окне ВБА, куда ты попадешь, нажав вышеуказанную комбинацию клавиш, нажимаешь F1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 21:18 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
IIF Returns one of two parts, depending on the evaluation of an expression. Syntax: IIf(expr, truepart, falsepart) Remarks IIf always evaluates both truepart and falsepart, even though it returns only one of them. Because of this, you should watch for undesirable side effects. For example, if evaluating falsepart results in a division by zero error, an error occurs even if expr is True. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 21:20 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
а если теперь надо получить 7 просуммированных столбцов, для каждого дня недели - свой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 21:41 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
Экспериментируя с IIF столкнулся с таким глюком: вот так работает: Код: plaintext 1. а вот так не хочет: Код: plaintext 1. т.е. добавленные скобки в условие () OR () приводят к ошибке синтаксиса SQL запроса (Syntax error (missing operator) in query expression) мне то вообще надо такое выражение забабахать: Код: plaintext 1. так что пришлось забахать через двойной IIF: Код: plaintext 1. ...............интересно, в чем прикол. Это токо у меня так работает (AccXp, mdb) или у всех??? В справке, MSDN и по поиску на SQL.ru не нашел описания ограничений на ввод сложных выражений со скобками или все таки это где-то прописано... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 15:58 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
Код: plaintext А так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 16:36 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
а так пошел, шайтан просто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 17:06 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
Никакого шайтана. Бубен, просто бубен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 17:31 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
А почему при saldoVal>3 левая квадратная скобка есть, а правой нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 17:41 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
Ctrl+C & Ctrl+V - это у меня А почему у автора - ХЗ. Очепятка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 17:43 |
|
||
|
Запрос с группировкой суммирующий два столбца с разными условиями
|
|||
|---|---|---|---|
|
#18+
Да это очепятка, в исходниках все путем, просто выкидывал для примера все лишнее... Кстати, Вас не напрягает конструктор запросов в режиме SQL, какие-то мелковатые буквы, курсор мигает так, что зачастую непонятно где же он точно стоит, похожие прблемы с редактированием текстом у меня были когда я работал на компьютере где системный шрифт был выбран наклонным (есть у нас на работе такие любители) и вот, мигает курсор посередине буквы и хрен поймешь что он щас сотрет через делейт.... еще подсветки разными цветами там не хватает, ..... а никуда не денешься, набирать все равно в нем приходится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 17:54 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32342255&tid=1677865]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 273ms |
| total: | 537ms |

| 0 / 0 |
