Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по SQL (на примере Борея) / 11 сообщений из 11, страница 1 из 1
02.04.2004, 00:32
    #32466300
EugeneKov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
День добрый!

Как с помощью SELECT из таблицы Заказы можно получить кол-во городов, в которые отправлялись заказы, для каждой страны?

Кому лень смотреть Борей: в таблице Заказы есть текстовые поля СТрана и Город.

Т.е. на выходе должно быть

Германия 7
Франция 8
итд...

Торможу......

С интересом, Евгений.
Калининград
...
Рейтинг: 0 / 0
02.04.2004, 00:40
    #32466304
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
select Страна, count(Город) from
(select Страна, Город from ... group by Страна, Город)
group by Страна
...
Рейтинг: 0 / 0
02.04.2004, 00:47
    #32466309
EugeneKov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
Спасибо!

Не знал, что во FROM можно подзапрос вставлять. Век живи...

С уважением, Евгений.
Калининград.
...
Рейтинг: 0 / 0
02.04.2004, 00:50
    #32466310
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
Начиная с 2000 можно. Только я не уверен в синтаксисе.

А до 2000 надо было делать два запроса. Или пользоваться недокументированной фичей:

select Страна, count(Город) from
[select Страна, Город from ... group by Страна, Город] . as A
group by Страна

Кстати, такой синтаксис и в 2000 годится.
...
Рейтинг: 0 / 0
02.04.2004, 00:51
    #32466311
EugeneKov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
Гм... Под рукой нет Access, a MSSQL 2000 ругается на такое не по-децки...

:)
...
Рейтинг: 0 / 0
02.04.2004, 00:54
    #32466312
EugeneKov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
Гы, я сам успел догадаться. Кушает, если дать псевдоним подзапросу...

Пасиба. Окончательное :)
...
Рейтинг: 0 / 0
02.04.2004, 00:55
    #32466313
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
Нет, [...]. - это только Аксесс, для SQL сервера это не годится.
...
Рейтинг: 0 / 0
02.04.2004, 01:03
    #32466319
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
Для SqlServer все гораздо проще
Код: plaintext
1.
select Страна, count(distinct Город) Qty from Страна 
group by Страна 
...
Рейтинг: 0 / 0
02.04.2004, 01:06
    #32466321
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
2 VIG:
А если в двух странах есть одинаковый город, оно посчитает его по отдельности?
...
Рейтинг: 0 / 0
02.04.2004, 01:15
    #32466325
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
Конечно. Группировка ведь по Стране, а count(distinct Город) гарантирует ,что будут подсчитаны только уникальные города внутри группы.
...
Рейтинг: 0 / 0
02.04.2004, 01:17
    #32466327
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по SQL (на примере Борея)
Понял. Глупость спросил...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по SQL (на примере Борея) / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]