Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 | 2 |

 

  Вопрос: Я чайник, я об этом знаю, но мне нужна помощь Добавлено: 21.02.07 20:56  

Автор вопроса:  grimmy | ICQ: 218458819 
Чуть-чуть знаю ВБ, чуть-чуть Акцесс, занималась раньше постановками, а тут жизнь приперла. Так вот - я у меня есть две таблицы - в одной исходные данные с, в другой повторяющиеся строки по исходным данным. Могла бы по-проще объяснить на примере, но специфика - перестрахование. Мне нужно из двух таблиц создать одну и чтобы данные второй таблице суммировались для каждой совпадающей записи (по параметрам двух полей) с исходной таблицей. Создаю запрос по группировке и суммированию - мне выдают ошибку - пропущен оператор LEVEL. я с таким оператором не работала. Как им пользоваться

Ответить

  Ответы Всего ответов: 16  

Номер ответа: 1
Автор ответа:
 Eugeny



Вопросов: 0
Ответов: 26
 Профиль | | #1 Добавлено: 21.02.07 21:08
в Access нет такого оператора LEVEL (может в ORACLE поискать)

Ответить

Номер ответа: 2
Автор ответа:
 grimmy



ICQ: 218458819 

Вопросов: 1
Ответов: 10
 Профиль | | #2 Добавлено: 21.02.07 21:15
спасибо, я в курсе, но почему он выдает такую ошибку? я этот оператор не использовала. Как мне создать запрос правильно?
таблица1
серия договора номер договора нетто-премия
АС 1 100
АС 2 500

Таблица 2
серия договора номер договора Оплачено
АС 1 50
АС 2 200
АС 1 20
АС 2 150


Хочу получить
серия договора номер договора Оплачено Нетто-премия Оплачено
АС 1 50 100 70
АС 2 200 500 350

Ответить

Номер ответа: 3
Автор ответа:
 grimmy



ICQ: 218458819 

Вопросов: 1
Ответов: 10
 Профиль | | #3 Добавлено: 21.02.07 21:20
Серии отличаются

Ответить

Номер ответа: 4
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #4 Добавлено: 21.02.07 22:01
давай что-ли названия полей и таблиц, ща напищем.

Ответить

Номер ответа: 5
Автор ответа:
 grimmy



ICQ: 218458819 

Вопросов: 1
Ответов: 10
 Профиль | | #5 Добавлено: 21.02.07 22:16
спасибо, я в курсе, но почему он выдает такую ошибку? я этот оператор не использовала. Как мне создать запрос правильно?
таблица1
серия договора номер договора нетто-премия
АС 1 100
АС 2 500

Таблица 2
серия договора номер договора Оплачено
АС 1 50
АС 2 200
АС 1 20
АС 2 150


Хочу получить
серия договора номер договора Нетто-премия Оплачено
АС 1 100 70
АС 2 500 350

Ответить

Номер ответа: 6
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #6 Добавлено: 21.02.07 22:18
SELECT T1.seriadog, T1.numberdog, T1.nettopremya, Sum(T2.oplacheno) AS SumOfoplacheno
FROM T1, T2 WHERE T1.seriadog=T2.seriadog AND T1.numberdog=T2.numberdog
GROUP BY T1.seriadog, T1.numberdog, T1.nettopremya;

Ответить

Номер ответа: 7
Автор ответа:
 grimmy



ICQ: 218458819 

Вопросов: 1
Ответов: 10
 Профиль | | #7 Добавлено: 21.02.07 22:25
SELECT [Бордеро рисков Москва РЕ].[Серия договора], [Бордеро рисков Москва РЕ].[Номер договора], [Бордеро рисков Москва РЕ].Страхователь, [Бордеро рисков Москва РЕ].Объект, [Бордеро рисков Москва РЕ].[Период включения], [Бордеро рисков Москва РЕ].[Нетто-премия Перестраховщика], оплаты.[Серия договора страхования], оплаты.[Номер договора страхо-вания], оплаты.[Наименование страхователя], оплаты.[Процент оплаты], оплаты.[Курс оплаты], оплаты.[Период оплаты], ([Нетто-премия Перестраховщика]*[Процент оплаты]/100) AS [Премия к оплате в дол], ([Премия к оплате в дол]*[Курс оплаты]) AS [Премия к оплате в руб]
FROM [Бордеро рисков Москва РЕ], оплаты
WHERE ((([Бордеро рисков Москва РЕ].[Серия договора])=[оплаты].[Серия договора страхования]) AND (([Бордеро рисков Москва РЕ].[Номер договора])=[оплаты].[Номер договора страхо-вания]) AND ((оплаты.[Серия договора страхования])=[Бордеро рисков Москва РЕ].[Серия договора]) AND ((оплаты.[Номер договора страхо-вания])=[Бордеро рисков Москва РЕ].[Номер договора]));


Для каждого риска из "Бордеро премия Москва РЕ" нужна сумма [Премия к оплате в дол] и сумма [Премия к оплате в руб] при совпрадении полей номер договора и одновременно серия договора

А еще впрос попутно - как сделать побобный запрос при несовпадении полей? типа если серия логовора не равна и номер договора не равен, то вывести в таблицу. Я не нашла оператор "не равно"

Ответить

Номер ответа: 8
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #8 Добавлено: 21.02.07 22:33
1)
... SUM ()
GROUP BY

2) оператор <> "не равно"
 или NOT IN ()

Ответить

Номер ответа: 9
Автор ответа:
 grimmy



ICQ: 218458819 

Вопросов: 1
Ответов: 10
 Профиль | | #9 Добавлено: 21.02.07 22:35
Извиняюсь за орфографию - у меня еще и клава глючит. Эх, нету времени учиться программированию, а тоя на основании моих постановок могла и все написать. Отдельные моменты тяжело опичывать, а тем более ошибки в контесте общей б/д. И вот пытаюсь сочинить аналитику для договоров облигаторного перестрахования на базе эксцедента сумм. на основании своей собственной постановки для опытного программиста...

Ответить

Номер ответа: 10
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #10 Добавлено: 21.02.07 22:38
Удачи

Ответить

Номер ответа: 11
Автор ответа:
 grimmy



ICQ: 218458819 

Вопросов: 1
Ответов: 10
 Профиль | | #11 Добавлено: 21.02.07 22:48
спасибо, вот только помощь бы была была сепер кстати. Спасибо.

Ответить

Номер ответа: 12
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #12 Добавлено: 21.02.07 22:50
Так а что осталось неясным?

Ответить

Номер ответа: 13
Автор ответа:
 grimmy



ICQ: 218458819 

Вопросов: 1
Ответов: 10
 Профиль | | #13 Добавлено: 21.02.07 22:51
пробовала по указанным вариантам - пишет ошибку про LEVEL

Ответить

Номер ответа: 14
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #14 Добавлено: 21.02.07 23:01
ладно, посмотрим, может где синтаксис хромает,
уж больно названия таблиц и полей противные

Ответить

Номер ответа: 15
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #15 Добавлено: 21.02.07 23:16
Засада в предложении SELECT,

...AS [Премия к оплате в дол], ([Премия к оплате в дол]*[Курс оплаты]) AS [Премия к оплате в руб]
 
НЕ будет вычисляться

поле [Премия к оплате в руб] должно быть пересчитано заново не используя "AS [Премия к оплате в дол]"

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам