Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
4 / 4 / 1
Регистрация: 13.02.2010
Сообщений: 15

Представление информации при выводе запроса

13.02.2010, 08:56. Показов 2729. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Есть запрос
T-SQL
1
2
3
4
5
6
--ВСЕГО ЗАОЧНИКОВ
SELECT kaf,spec, Count(*) as kolvo
  FROM student st, kaf k, spec s, gruppa g
where k.idkaf=s.idkaf and st.idspec=s.idspec and st.idgrupp=g.idgrupp and gruppa like '%З%'
group by kaf,spec
order by kaf, spec
который показывает

Автоматизации и управления Автоматизация и управление 60
Информационных систем Информатика 5
Информационных систем Информационные системы 66
Металлургии Металлургия 11
Разработки месторождений Горное дело 66
Разработки месторождений Технологические машины и оборудование 20


и запрос
T-SQL
1
2
3
4
5
6
--ВСЕГО ОЧНИКОВ
SELECT kaf,spec, Count(*) as kolvo
  FROM student st, kaf k, spec s, gruppa g
where k.idkaf=s.idkaf and st.idspec=s.idspec and st.idgrupp=g.idgrupp and gruppa NOT like '%З%' 
group by kaf,spec
order by kaf, spec
который показывает
Автоматизации и управления Автоматизация и управление 43
Информационных систем Информатика 11
Информационных систем Информационные системы 46
Металлургии Металлургия 41
Разработки месторождений Горное дело 110
Разработки месторождений Технологические машины и оборудование 45


Как объеденить запросы чтобы было так:

Автоматизации и управления Автоматизация и управление 60 43
Информационных систем Информатика 5 11
Информационных систем Информационные системы 66 46
Металлургии Металлургия 11 41
Разработки месторождений Горное дело 66 110
Разработки месторождений Технологические машины и оборудование 20 45
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.02.2010, 08:56
Ответы с готовыми решениями:

Замена символов в столбце при выводе запроса
Есть таблица с оценками (1, 3, 5). При выводе запроса эти данные нужно заменить соответственно на (плохо, удовлетворительно, хорошо). Как...

Как задать название столбца при выводе результата запроса
Вывести список всех офисов, отсортированный по разности между фактическим и плановым объемами продаж в порядке убывания. select...

Убрать повторяющиеся записи по (id или name) при выводе объединенного запроса
Здравствуйте, не могу понять как ограничить вывод по id / name. Причина повторение, несколько фото, которые есть у книги. Код с mysql ...

6
 Аватар для BasicMan
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
13.02.2010, 12:30
T-SQL
1
2
3
4
5
6
SELECT kaf,spec, COUNT(case when gruppa like '%З%' then 1 else 0 end) AS Z,
COUNT(case when gruppa like '%З%' then 0 else 1 end) AS O
  FROM student st, kaf k, spec s, gruppa g
WHERE k.idkaf=s.idkaf and st.idspec=s.idspec and st.idgrupp=g.idgrupp
GROUP BY kaf,spec
ORDER BY kaf, spec
0
4 / 4 / 1
Регистрация: 13.02.2010
Сообщений: 15
15.02.2010, 07:19  [ТС]
CyberБурундукЪ, Теперь он считает не правильно:
результат выполнения вашего запроса

Автоматизации и управления Автоматизация и управление 103 103
Информационных систем Информатика 16 16
Информационных систем Информационные системы 112 112
Металлургии Металлургия 52 52
Разработки месторождений Горное дело 176 176
Разработки месторождений Технологические машины и оборудование 65 65

Добавлено через 1 час 31 минуту
Правильно будет считать колличество не всех записей сумму нулей и еденичек
SQL
1
2
3
4
5
6
SELECT k.kaf,s.spec, SUM(CASE WHEN g.gruppa  LIKE '%З%' THEN 1 ELSE 0 END) AS Z,
SUM(CASE WHEN g.gruppa  LIKE '%З%' THEN 0 ELSE 1 END) AS O
  FROM student st, kaf k, spec s, gruppa g
WHERE k.idkaf=s.idkaf AND st.idspec=s.idspec AND st.idgrupp=g.idgrupp
GROUP BY k.kaf,s.spec
ORDER BY k.kaf, s.spec
и результат правельный
Автоматизации и управления Автоматизация и управление 60 43
Информационных систем Информатика 5 11
Информационных систем Информационные системы 66 46
Металлургии Металлургия 11 41
Разработки месторождений Горное дело 66 110
Разработки месторождений Технологические машины и оборудование 20

А теперь усложним запрос Надо сосчитать для очников и заочников количество студентов на каждом курсе???
Например
SQL
1
2
3
4
5
6
--ВСЕГО 1 КУРС ЗАОЧНИКОВ
SELECT kaf,spec, COUNT(*) AS kolvo1
  FROM student st, kaf k, spec s, gruppa g
WHERE k.idkaf=s.idkaf AND st.idspec=s.idspec AND st.idgrupp=g.idgrupp AND (gruppa  LIKE '%З%') AND (g.gruppa  LIKE '%11%' OR g.gruppa  LIKE '%12%' OR g.gruppa  LIKE '%13%' OR g.gruppa  LIKE '%14%'  )
GROUP BY kaf,spec
ORDER BY kaf, spec
второй курс будет значит %21%' or g.gruppa like '%22%' or g.gruppa like '%23% и т.д.
Все надо сделать в одном запросе всего 4 курса очников и 5 заочников. Очников и заочников можно в разных запросах.
0
 Аватар для BasicMan
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
15.02.2010, 11:48
Лена bleksen, чем твое правельнае отличается от моего неправильного?
0
4 / 4 / 1
Регистрация: 13.02.2010
Сообщений: 15
15.02.2010, 12:13  [ТС]
в том что вы считаете воличество всех записей и 0 и 1 ВЫ МНЕ ПОДАЛИ ОЧЕНЬ ХОРОШУЮ ИДЕЮ я просто count исправила на sum. Большое спасибо
1
 Аватар для BasicMan
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
15.02.2010, 13:03
ну да конечно sum надо,

Не по теме:

вчера просто куча праздников была, да и день выходной

0
4 / 4 / 1
Регистрация: 13.02.2010
Сообщений: 15
17.02.2010, 05:37  [ТС]
все! все сама сделала! спасибо за идею
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
SELECT k.kaf,s.spec,
--очники
SUM(CASE WHEN g.gruppa  LIKE '%З%' THEN 0 ELSE 1 END) AS O,
--очники не сокр
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa  NOT LIKE '%(с)%' AND g.gruppa  NOT LIKE '%(к)%'  AND (g.gruppa  LIKE '%11%' OR g.gruppa  LIKE '%12%' OR g.gruppa  LIKE '%13%' OR g.gruppa  LIKE '%14%') THEN 1 ELSE 0 END) AS k1r,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa  NOT LIKE '%(с)%'AND g.gruppa   LIKE '%(к)%'  AND (g.gruppa  LIKE '%11%' OR g.gruppa  LIKE '%12%' OR g.gruppa  LIKE '%13%' OR g.gruppa  LIKE '%14%') THEN 1 ELSE 0 END) AS k1k,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa  NOT LIKE '%(с)%' AND g.gruppa  NOT LIKE '%(к)%'  AND (g.gruppa  LIKE '%21%' OR g.gruppa  LIKE '%22%' OR g.gruppa  LIKE '%23%'OR g.gruppa  LIKE '%24%' ) THEN 1 ELSE 0 END) AS k2r,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa  NOT LIKE '%(с)%'AND g.gruppa   LIKE '%(к)%'  AND (g.gruppa  LIKE '%21%' OR g.gruppa  LIKE '%22%'OR g.gruppa  LIKE '%23%'OR g.gruppa  LIKE '%24%') THEN 1 ELSE 0 END) AS k2k,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa  NOT LIKE '%(с)%' AND g.gruppa  NOT LIKE '%(к)%'  AND (g.gruppa  LIKE '%31%' OR g.gruppa  LIKE '%32%' OR g.gruppa  LIKE '%33%'OR g.gruppa  LIKE '%34%' ) THEN 1 ELSE 0 END) AS k3r,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa  NOT LIKE '%(с)%'AND g.gruppa   LIKE '%(к)%'  AND (g.gruppa  LIKE '%31%' OR g.gruppa  LIKE '%32%'OR g.gruppa  LIKE '%33%'OR g.gruppa  LIKE '%34%') THEN 1 ELSE 0 END) AS k3k,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa  NOT LIKE '%(с)%' AND g.gruppa  NOT LIKE '%(к)%'  AND (g.gruppa  LIKE '%41%' OR g.gruppa  LIKE '%42%' OR g.gruppa  LIKE '%43%'OR g.gruppa  LIKE '%44%' ) THEN 1 ELSE 0 END) AS k4r,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa  NOT LIKE '%(с)%'AND g.gruppa   LIKE '%(к)%'  AND (g.gruppa  LIKE '%41%' OR g.gruppa  LIKE '%42%'OR g.gruppa  LIKE '%43%'OR g.gruppa  LIKE '%44%') THEN 1 ELSE 0 END) AS k4k,
--очники сокр
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa   LIKE '%(с)%' AND g.gruppa  NOT LIKE '%(к)%'  AND (g.gruppa  LIKE '%11%' OR g.gruppa  LIKE '%12%' OR g.gruppa  LIKE '%13%' OR g.gruppa  LIKE '%14%') THEN 1 ELSE 0 END) AS k1rs,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa   LIKE '%(с)%'AND g.gruppa   LIKE '%(к)%'  AND (g.gruppa  LIKE '%11%' OR g.gruppa  LIKE '%12%' OR g.gruppa  LIKE '%13%' OR g.gruppa  LIKE '%14%') THEN 1 ELSE 0 END) AS k1ks,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa   LIKE '%(с)%' AND g.gruppa  NOT LIKE '%(к)%'  AND (g.gruppa  LIKE '%21%' OR g.gruppa  LIKE '%22%' OR g.gruppa  LIKE '%23%'OR g.gruppa  LIKE '%24%' ) THEN 1 ELSE 0 END) AS k2rs,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa   LIKE '%(с)%'AND g.gruppa   LIKE '%(к)%'  AND (g.gruppa  LIKE '%21%' OR g.gruppa  LIKE '%22%'OR g.gruppa  LIKE '%23%'OR g.gruppa  LIKE '%24%') THEN 1 ELSE 0 END) AS k2ks,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa   LIKE '%(с)%' AND g.gruppa  NOT LIKE '%(к)%'  AND (g.gruppa  LIKE '%31%' OR g.gruppa  LIKE '%32%' OR g.gruppa  LIKE '%33%'OR g.gruppa  LIKE '%34%' ) THEN 1 ELSE 0 END) AS k3rs,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa   LIKE '%(с)%'AND g.gruppa   LIKE '%(к)%'  AND (g.gruppa  LIKE '%31%' OR g.gruppa  LIKE '%32%'OR g.gruppa  LIKE '%33%'OR g.gruppa  LIKE '%34%') THEN 1 ELSE 0 END) AS k3ks,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa   LIKE '%(с)%' AND g.gruppa  NOT LIKE '%(к)%'  AND (g.gruppa  LIKE '%41%' OR g.gruppa  LIKE '%42%' OR g.gruppa  LIKE '%43%'OR g.gruppa  LIKE '%44%' ) THEN 1 ELSE 0 END) AS k4rs,
SUM(CASE WHEN g.gruppa  NOT LIKE '%З%'  AND g.gruppa   LIKE '%(с)%'AND g.gruppa   LIKE '%(к)%'  AND (g.gruppa  LIKE '%41%' OR g.gruppa  LIKE '%42%'OR g.gruppa  LIKE '%43%'OR g.gruppa  LIKE '%44%') THEN 1 ELSE 0 END) AS k4ks
FROM student st, kaf k, spec s, gruppa g
WHERE k.idkaf=s.idkaf AND st.idspec=s.idspec AND st.idgrupp=g.idgrupp
GROUP BY k.kaf,s.spec
ORDER BY k.kaf, s.spec
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.02.2010, 05:37
Помогаю со студенческими работами здесь

Ошибка при выводе информации из БД
народ помогите при выводе информации из бд выдает вот такую ошибку: line 24=while ($row_articles = mysql_fetch_assoc...

При выводе информации из БД, выбивает ошибку
Привет. Пытаюсь вывести информацию из БД, но есть проблемка: В файле mysql.php написел следующий код, с помощью которого подключаюсь в...

Ошибки при выводе информации о поезде
САSE 7 должен выдавать по номеру поезда информацию о пункте назначения и времени прибытия,но она выдает это case 7: list =...

Ошибка при выводе информации с базы
Здравствуйте! Работаю в Visual Studio (WPF). Нужно подключится к одной таблице БД на MS SQL, вывести её данные и добавить новую запись....

Кодировка при выводе запроса в Excel
Доброго дня! Похожие темы уже были но ответа для себя так и не нашел... Раньше пользовался для вывода результатов запроса в Excel...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru