|
Помогите новичку с запросом. | ☑ | ||
---|---|---|---|---|
0
MikhaDi4
22.10.11
✎
18:57
|
Добрый вечер, помогите новичку запрос составить.
Некоторые запросы возвращают таблицы вот такой структуры: Агент База Сумма Неполучается составить запрос для получения требуемого результата (см.пример) Пример: Запрос1: Вася 12 110 Петя 15 5648 Маша 08 876 Запрос2: null 12 123 null 07 13 Требуемый результат: Вася 12 223 Петя 15 5648 Маша 08 876 null 07 13 |
|||
1
zak555
22.10.11
✎
19:02
|
переписать два запроса в один нормальный правильный
для этоого озвучь поставленную задачу |
|||
2
Asmody
22.10.11
✎
19:05
|
Магия запросов заключена в трёх словах: ВЫБРАТЬ, ОБЪЕДИНИТЬ и СГРУППИРОВАТЬ
|
|||
3
MikhaDi4
22.10.11
✎
19:19
|
Ну, подзапросами (Запрос1 и Запрос2) я получаю две таблички. Требуется к строкам первой таблички присовокупить строки второй таблички. Правила такое:
1)Во второй табличе поле Агент всегда NULL, т.е. это равносильно его отсутствию. 2)Соединение происходит при совпадении значения поля База. При этом, значения поля Сумма складываются. |
|||
4
MikhaDi4
22.10.11
✎
19:20
|
Я пробовал выбрать, объединить, соединить и сгруппировать. Но, видимо плохо разобрался.
|
|||
5
БибиГон
22.10.11
✎
19:31
|
(4) см (2)
|
|||
6
zak555
22.10.11
✎
19:45
|
(3) откуда получаем две таблички ?
|
|||
7
Escander
22.10.11
✎
19:51
|
что-бы легче раскрилось - курите:
ВЫБОР КОГДА поле1 Is null ТОГДА "NULL" ИНАЧЕ поле1 КОНЕЦ |
|||
8
Nesh
22.10.11
✎
20:04
|
(7) а разве для этого не предназначена ECТЬNULL(Поле1,"NULL")
|
|||
9
Escander
22.10.11
✎
20:08
|
(8) давай ещё войну на тему запроса устроим... пусть хоть то курит, хоть другое - главное что-бы раскурилось
|
|||
10
GROOVY
22.10.11
✎
20:14
|
(8) Функция ЕСТЬNULL() транслируется как раз в (7). Так что разницы никакой.
|
|||
11
izekia
22.10.11
✎
20:18
|
SELECT table1.field1, isnull(table1.field2, table2.field2), isnull(table1.field3, 0) + isnull(table2.field3, 0) FROM table1 LEFT JOIN table2 ON table1.field2 = table2.field2
это с учетом того что автор в (0) опечатался иначе куй его знает как третье поле в итоговой вычислять |
|||
12
БибиГон
22.10.11
✎
20:25
|
(11) это только для случая если во второй таблице есть только одна запись соответствующая таблице1, поэтому лучше все таки сначала объединить потом сгруппировать. :) как в (2)
|
|||
13
izekia
22.10.11
✎
20:44
|
(12) во первых я не телепат, во вторых если такой умный, то сам бы и написал бы свой вариант
как пример (11) автору вполне подойдет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |