![]() |
|
Модераторы: skyboy |
![]()
|
|
| ekaterina_tw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 25.1.2008 Репутация: нет Всего: нет |
спасибо.
если таблица такого вида Klient Bank Akcii Клиент1 Банк1 1 Клиент1 Банк4 14 Клиент2 Банк2 2 Клиент3 Банк3 3 Клиент4 Банк4 4 , то мне нужен результат: Klient Bank Akcii Клиент1 Банк1 1 Клиент1 Банк2 0 Клиент1 Банк3 0 Клиент1 Банк4 14 Клиент2 Банк1 0 Клиент2 Банк2 2 Клиент2 Банк3 0 Клиент2 Банк4 0 Клиент3 Банк1 0 Клиент3 Банк2 0 Клиент3 Банк3 3 Клиент3 Банк4 0 Клиент4 Банк1 0 Клиент4 Банк2 0 Клиент4 Банк3 0 Клиент4 Банк4 4 По-моему первый вариант, который Вы написали, как раз это и выдает. Добавлено через 2 минуты и 35 секунд
ага, понятно. я имею ввиду, что при использовании вашего запроса внутри SELECT sum(Akcii) GROUP BY Банк результат получается верным. Разве нет? |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
Первый запрос выдаст: Klient Bank Akcii Клиент1 Банк1 1 Клиент1 Банк2 0 Клиент1 Банк3 0 Клиент1 Банк4 0 Клиент1 Банк4 14 Клиент2 Банк1 0 Клиент2 Банк2 2 Клиент2 Банк3 0 Клиент2 Банк4 0 Клиент3 Банк1 0 Клиент3 Банк2 0 Клиент3 Банк3 3 Клиент3 Банк4 0 Клиент4 Банк1 0 Клиент4 Банк2 0 Клиент4 Банк3 0 Клиент4 Банк4 4 красным выделен косяк. |
|||
|
||||
| ekaterina_tw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 25.1.2008 Репутация: нет Всего: нет |
ага, а GROUP BY прекрасно с этим косяком справится.
|
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
Нету у меня под рукой MS-SQL, писал на акцессе, а он FULL OUTER JOIN не поддерживает
Добавлено через 2 минуты и 13 секунд Нет, с ним справился SUM, а GROUP BY из-за того что используется агрегированая ф-ия. |
|||
|
||||
| DimW |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 4 Всего: 44 |
1) я создаю таблицу. 2) наполняю ее данными. 3) выполняю запрос который должен решить вашу проблему, с данными которые на втором шаге я вставил в таблицу.
это тестовые данные, представленны для наглядности. |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Здесь full outer не нужен. Тема озаглавлена не правильно. dual эта таблица, которая содержит одну запись Используется для того, чтобы иммитировать исходные данные. Сам запрос начинается с пятой строки. Что такое "возвращает нулевые строки", мне не понятно -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| ekaterina_tw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 25.1.2008 Репутация: нет Всего: нет |
DimW,
спасибо, действительно все верно. Отличный вариант! Zloxa, спасибо! Тоже все работает отлично! |
|||
|
||||
| DimW |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1330 Регистрация: 24.2.2005 Где: Орёл Репутация: 4 Всего: 44 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |