|
|
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Пробовал: Select A1.f1, sum(A1.f2) From A1 Group by A1.f1 UNION ALL Select A2.f1, sum(A2.f2) From A2 Group by A2.f1 Так работает, но убрать первый Group by A1.f1 не дает - выдает ошибку. Если есть такая возможность, подскажите пож. синтаксис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 10:31:40 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
>... но убрать первый Group by A1.f1 не дает - выдает ошибку. Заодно и вместо sum(A1.f2) напиши 777 - всё опять заработает :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 10:53:13 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Может я не точно сказал, что мне надо. Приведу пример: А1: f1 f2 Иван 100 Иван 50 Петр 50 А2: Иван 50 Петр 100 Запрос: Select A1.f1, sum(A1.f2) From A1 Group by A1.f1 UNION ALL Select A2.f1, sum(A2.f2) From A2 Group by A2.f1 вернет: Иван 150 Петр 50 Иван 50 Петр 100 А мне необходимо: Иван 200 Петр 150 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 11:09:50 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Зашей свои union`ы в ХП и общий group by примени при обращении к ХП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 11:19:26 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Т.е. применить Group by ко всему запросу, в котором есть Union нельзя? Только через ХП/Просмотр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 11:31:56 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Можно попробовать через FULL JOIN извернуться одним запросом. Вообще, конечно, когда есть 2 таблички с идентичной структурой и по ним приходится часто строить запросы с UNION, то имхо, база криво спроектирована. tria, как зовут человека, проектировавшего базу? Не Борис ли часом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 11:34:15 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Табличка А1 - табличка остатков на начало каждого месяца, Табличка А2 - табличка движений. Структура соответственно отличается, совпадает только перечень аналитики. Цель запроса - получить оборотно-сальдовую ведомость за произвольный период. Полную структуру я не приводил, дабы проще было понять идею вопроса. Кстати, отсюда вытекает следующий вопрос: Select A1.f1, sum(A1.Ost), Sum(0), Sum(0) From A1 Group by A1.f1 UNION ALL Select A2.f1, Sum(0), sum(A2.Prihod) sum(A2.Rshod) From A2 Group by A2.f1 В результирующем запросе A2.Prihod и A2.Rshod округлятся до целых. А мне это ненадо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 11:44:56 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Без UNION тут можно обойтись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 11:49:39 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
>Без UNION тут можно обойтись При это желательно обойтись без ХП и просмотров. Дело в том, что текст запроса составляется динамически, в зависимости от требований пользователя. Создавать и удалять ХП и просмотр при каждом выполнении отчета - на мой взгляд нехорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 11:52:46 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Давай уточним требуемый тип джойна. Могут ли в таблице A1 быть такие значения поля F1, которых нету в А2? И наоборот, могут ли в А2 быть значения F1, отсутствующие в А1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 12:04:19 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
>Могут ли в таблице A1 быть такие значения поля F1, которых нету в А2? Да, могут. Например - переходящий остаток с прошлого месяца. Движений в А2 нет, а остаток в А1 есть. >И наоборот, могут ли в А2 быть значения F1, отсутствующие в А1? Тоже могут быть. Товар пришел и ушел, остаток на конец месяца - 0. Такие записи есть в таблице движений А2 но отсутствуют в таблице остатков А1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 12:15:55 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Значит таки FULL JOIN . Вот на нём и строй запрос. А UNION тебе не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 12:20:07 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
>Значит таки FULL JOIN. >Вот на нём и строй запрос. А можно пример? А то я честно говоря не знаю как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 12:31:42 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
>tria Оборотно-сальдовую ведомость сразу, одним, сколь угодно сложным запросом не получишь... >Мимопроходящий >FULL JOIN "Это вряд ли" (c) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 12:55:25 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Насколько я понял, в интербейсах нету full outer join, а в таких случаях именно он и нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 13:07:04 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
feddНасколько я понял, в интербейсах нету full outer join, а в таких случаях именно он и нужен А RTFM? 2tria: схематично и сильно упрощенно, запрос примерно такой: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 13:20:49 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
2Мимопроходящий А как бы еще к полю COALESCE(A1.F1, A2.F1) применить LEFT JOIN? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 13:48:50 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Снимаю предыдущий вопрос. Протупил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2004, 13:50:42 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
2Мимопроходящий Для правильной работы Вашего примера должно выполняться требование: не должно быть полей-аналитики со значением null. Или я что-то не так понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 10:30:16 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Переведи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 10:31:37 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
В моем примере f1 - имена сотрудников. Т.е. то, в разрезе чего хранятся остатки. Для работы Вашего примера недопустима ситуация: f1 f2 Иван 100 Иван 50 Петр 50 null 30 А2: Иван 50 Петр 100 В результате в выборке мы не получим строки null, 30, 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 10:38:01 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Интересно, какую информацию в себе несёт строчка null 30 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 10:41:21 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Пример1: торговля комплектующими ПК. Аналитика: Склад, Товар, Серийный номер. Есть комплектующие, у которых нет серийного номера. Пример 2: взаиморасчеты в разрезе Контрагент, Контракт. Бывают контрагенты, с которыми нет контрактов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 10:57:03 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Мутишь ты чего-то. В твоём примере: Код: plaintext 1. 2. Или шо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 11:01:54 |
|
||
|
Можно ли в FB1.5 применять Group by ко всему запросу с Union?
|
|||
|---|---|---|---|
|
#18+
Мутно высказываюсь - это наверное от того, что я хочу решить не конкретную задачу, а определиться с методологией работы в целом. Есть такое понятие в 1С - регистр. Я хочу сделать его аналог. На логическом уровне (для пользователя) регистр содержит: 1. Аналитику (Контрагент, Товар, Серийный номер) - то есть то, в разрезе чего хранятся остатки. 2. Ресурсы - Кво, Сумма - собственно говоря, какие остатки хранятся. На физическом уровне регистр состоит из 2-х таблиц: таблица остатков и таблица движений. В таблицу остатков добавляется поле - дата остатка (в моем случае - дата начала месяца, периодичность хранения остатка - месяц). В таблицу движений добавляется поле Документ, сделавший движение, признак прихода/расхода, дата и время движения. В общем случае, при записи нового движения пользователь может не указать одну из аналитик. В результате в текущем месяце появяться записи в обоих таблицах с аналитикой null. В следующем месяце останется одна такая запись в таблице остатков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 11:13:47 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32589044&tid=1578324]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
171ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 467ms |

| 0 / 0 |
