Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 11
1
MS SQL

Запрос на подсчет

15.11.2016, 13:24. Показов 966. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Имеется база данных с танцорами и информации по ним. Необходимо составить запрос, который будет указывать имя танцора, с какого он города и сколько всего в этом же городе танцоров.
Максимально близким, но не правильным, был следующий запрос:
SELECT City, Min(Name), Count(Surname) as VsegoTancorov
FROM Tanec
Group By City
Помогите пожалуйста! Заранее спасибо.
Вложения
Тип файла: rar BD.rar (424.6 Кб, 1 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2016, 13:24
Ответы с готовыми решениями:

Запрос на подсчет количества
Приветствую! У меня в базе есть таблицы "Школы" и "Ученики". Связаны через таблицу...

Sql запрос на подсчет и сохранение
Есть бд в Acces Товары (Код товара, Название, Цена, Единица измерения). Продажи (Код Товара, Дата...

Delphi XE4 SQL запрос на подсчет суммы
Составил запрос на подсчет суммы по критерию (Код_заказа (не ключевое)). И не могу вывести эту...

Запрос на подсчет выпускников
Здравствуйте, нужна помощь в создании запроса: есть таблица с названиями учебных заведений, в...

14
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
15.11.2016, 14:46 2
какой-то бредовый у вас запрос
min(name) - вы их что по длине имени что-ли сортировали?

покажите список таблиц с полями

ЗЫ архив не качал
0
3584 / 2194 / 692
Регистрация: 29.05.2013
Сообщений: 9,366
15.11.2016, 14:55 3
Если реализовывать этот запрос в лоб, то результат вам не понравиться. Простой пример: Пускай в городе Сочи есть 2 танцора Вася Петров и Петя Иванов. Значит на выходе вы получить вот такой результат:
Сочи Вася 2
Сочи Петя 2
И вот в чем информативность такого результата? А все потому что нельзя смешивать 2 разных агрегатных результата в рамках одного запроса. Получить отдельно количество танцоров по городам можно. Получить перечень танцоров по городам тоже можно, но вот вместе будет ерунда.
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 11
15.11.2016, 18:32  [ТС] 4
Если реализовывать этот запрос в лоб, то результат вам не понравиться. Простой пример: Пускай в городе Сочи есть 2 танцора Вася Петров и Петя Иванов. Значит на выходе вы получить вот такой результат:
Сочи Вася 2
Сочи Петя 2
Вот как раз такой запрос и нужен.
но вот вместе будет ерунда.
Задание есть задание
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 11
15.11.2016, 18:52  [ТС] 5
Цитата Сообщение от qwertehok Посмотреть сообщение
покажите список таблиц с полями
3 символа
Миниатюры
Запрос на подсчет  
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
15.11.2016, 19:08 6
SQL
1
2
3
SELECT t.*, c.Kolvo
FROM (SELECT surname, name, p*, city) t
JOIN (SELECT city, COUNT(*) AS Kolvo FROM T GROUP BY city) c ON t.city=c.city
вот такое 100% отработает в MSSQL, а у вас я не знаю будет ли работать
если не будет, то можно выполнить 2 запроса в скобках, вывести в массив и объединить уже на форме
1
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 11
20.11.2016, 13:16  [ТС] 7
Цитата Сообщение от qwertehok Посмотреть сообщение
Если не будет, то можно выполнить 2 запроса в скобках, вывести в массив и объединить уже на форме
Танцы с бубнами не помогли, поэтому не могли бы вы расписать, что необходимо взять в скобки для объединения этих массивов на форме?
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
20.11.2016, 18:11 8
выводите в грид результат запроса
SQL
1
SELECT surname, name, p*, city FROM T
выводите рядом в грид результат запроса
SQL
1
SELECT city, COUNT(*) AS Kolvo FROM T GROUP BY city
потом объединяете 2 грида в третий

когда все это сделаете вместо первых 2х гридов используете массивы
1
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 11
20.11.2016, 20:13  [ТС] 9
Цитата Сообщение от qwertehok Посмотреть сообщение
используете массивы
В компоненте QuikReport невозможно использовать массивы в качестве источника данных.
Возможно ли как-то организовать это с помощью объединения в запросе, а не в массиве?
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
20.11.2016, 20:15 10
Цитата Сообщение от W_Vlad Посмотреть сообщение
Возможно ли как-то организовать это с помощью объединения в запросе
если откажетесь от dbf файлов хотя бы в пользу ms access, не говоря уже о более современных СУБД

Добавлено через 17 секунд
или еще можно использовать MemTable
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 11
20.11.2016, 20:20  [ТС] 11
Цитата Сообщение от qwertehok Посмотреть сообщение
если откажетесь от dbf файлов
К сожалению обязательно использовать именно эту БД в этой среде программирования. Таково задание. Не повезло с запросом.
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 11
22.11.2016, 11:38  [ТС] 12
Так всё-таки этот запрос возможно как-то решить?
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,250
22.11.2016, 11:49 13
Цитата Сообщение от W_Vlad Посмотреть сообщение
В компоненте QuikReport невозможно использовать массивы в качестве источника данных.
С чего бы вдруг невозможно? В QR в качестве источника данных можно использовать хоть черта лысого. Если знать про событие OnNeedData
0
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 11
22.11.2016, 13:20  [ТС] 14
Цитата Сообщение от northener Посмотреть сообщение
Если знать про событие OnNeedData
Век живи - век учись .
Как объединить два DBGrid в один?
Вложения
Тип файла: rar BD.rar (424.7 Кб, 1 просмотров)
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
22.11.2016, 14:08 15
Цитата Сообщение от W_Vlad Посмотреть сообщение
Как объединить два DBGrid в один?
dbgrid только выводит данные из dataset
объедините 2 набора данных и они появятся в DBgrid
0
22.11.2016, 14:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2016, 14:08
Помогаю со студенческими работами здесь

Запрос на подсчет количества
Здравствуйте. Не могу составить запрос на подсчет количества программистов, чья премия составит...

Запрос на подсчет суммы
Здравствуйте. Мне надо создать такой набор данных, в котором после кождого месяца должна считаться...

Запрос на сложный подсчет
Здравствуйте, умы аксесса! Прошу помочь правильно составить запрос. Суть такова: Таблица1: шифр...

Запрос на автоматический подсчет
Всем привет! Разрабатываю БД (MS SQL Server 2008) + приложение (Delphi), подключение типа ADO. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru