|
|
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Народ, поскажите как сделать следующее, существует след. таблица: ID int, OpCode int, InCode int, InSum currency, OutCode int, OutSum currency Нужно сгруппировать по opCode и InCode, OutCode - поле Code и получить результат: OpCode, Code, Sum(InSum), Sum(OutSum) - что-то вроде этого... Мож коряво объяснил, но мож кто подскажет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 10:29:03 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
johnny17OpCode, Code, Sum(InSum), Sum(OutSum) - что-то вроде этого... Мож коряво объяснил, но мож кто подскажетЭто называется запрос. Информацию можно получить, нажав кнопку F1. Она находится на клавиатуре. Чуточку правее крайней левой верхней кнопки Esc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 12:21:24 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Ничего хитрого здесь нету: В Аксессе открываете вкладук "Запросы" Клик по кнопочке "Новый" Выбираете "Конструктор", и клик по Ок. Правый клик на верхней части бланка, выбор "Режим SQL" В редакторе пишете примерно следующее: SELECT Sum(InSum) as SumIn, Sum(OutSum) as SumOut FROM [Как_там_у_Вас_называется_таблица] GROUP BY opCode, inCode, outCode (Порядок следования полей после GROUP BY обязателен) Корявость обьяснения состоит в следующем? Нужно сгруппировать по opCode и InCode, OutCode - поле Code Что такое Code ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 12:34:39 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
v-metallicвкладук "Запросы" Клик по кнопочке "Новый" Выбираете "Конструктор", и клик по Ок. Правый клик на верхней части бланка, выбор "Режим SQL"Намного проще и нагляднее будет так: делаем новый запрос, открываем его в конструкторе. Спросит добавить таблицу - заносим нашу. Потом натыкиваем из неё вниз полей - opcode, outcode, insum, outsum, жмём на иконку сигмы - "групповые операции", пишем вместо названия outcode текст Code: Outcode, у in/out sum пишем вместо "group by" слово "Sum", готово. Если надо - можно выполнить и посмотреть, если нравится - переходим в sql и наслаждаемся готовым текстом запроса. Опционально от дерьма почистить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 12:39:54 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Согласен, можно и так -это не принципиально. Интересно вот что: "сгруппировать по opCode и InCode, OutCode - поле Code" Что сие значит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 13:15:42 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
v-metallicСогласен, можно и так -это не принципиально. Интересно вот что: "сгруппировать по opCode и InCode, OutCode - поле Code" Что сие значит ?Я трактовал это как "в результирующем рекордсете поле outcode надо обозвать code". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 13:18:03 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Как запросы создавать я знаю и кнопка F1 находится тоже, мне нужен совет как именно построить SQL... Попробую объяснить еще раз, из вышеприведенной таблицы мне нужно построить отчет вида группировка по OpCode группировка по (InCode, OutCode но одним полем Code) + подсчет сумм InSumm где InCode=Code, OutSumm где OutCode=Code ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 13:19:47 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
johnny17Как запросы создавать я знаю и кнопка F1 находится тоже, мне нужен совет как именно построить SQL... Попробую объяснить еще раз, из вышеприведенной таблицы мне нужно построить отчет вида группировка по OpCode группировка по (InCode, OutCode но одним полем Code) + подсчет сумм InSumm где InCode=Code, OutSumm где OutCode=CodeБлин, тебе уже дали два изоморфных решения с идентичными результатами. Чего ж ты ещё хочешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 13:20:54 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
К вопросу о Code, Code можно представить так: select InCode as Code from table union select OutCode as Code from table только с группировкой по OpCode Кста, если кому не в напряг, пусть свяжется со мной по аське 12762166 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 13:22:34 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Я бы посоветовал прежеде всего напрячься и сформулировать задачу понятно и до конца! Лучше всего с примером данных. Уверен, пока будешь формулировать, сам решишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 13:32:51 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Я все-таки не понял, как надо делать группировку по InCode и OutCode - по каждому полю, или по их комбинации ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 14:17:59 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
v-metallicЯ все-таки не понял, как надо делать группировку по InCode и OutCode - по каждому полю, или по их комбинации ?Не группировку, а сумму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 14:29:22 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Давайте пример из жизни, а то непонятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 14:38:54 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
а в отчете можно организовать вложенную группировку именно так как хочет вопрошающий вкладка "отчеты" - новый - мастер отчетов - поиграться и посмотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 14:45:46 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Да, действительно, это тоже вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 15:06:35 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Вот реальный набор данных: http://www.monb.com/~johnny/test.html А вот нужный результат: http://www.monb.com/~johnny/test2.html Это нужно для отчета, отчет внешний (не в access'e) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 15:18:24 |
|
||
|
Хитрый запрос
|
|||
|---|---|---|---|
|
#18+
Я думаю, что это можно сделать так: 1. Создать запрос такого содержания: SELECT opCode, InCode as Code, InSumm, OutSumm FROM MyTable UNION SELECT opCode, OutCode, InSumm, outSumm FROM MyTable WHERE outCode NOT IN (SELECT InCode FROM MyTable GROUP BY InCode) Сохранить этот запрос как, например, MyQuerry 2. На базе сего запроса сделать результирующий запрос: SELECT opCode, Code, Sum(InSumm), Sum(outSumm) FROM MyQuerry GROUP BY opCode, Code Но я вышеописанное не испытывал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2004, 16:17:04 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1575&tid=1672402]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 311ms |

| 0 / 0 |
