Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 22.07.2015
Сообщений: 10

Не получается сформировать запрос

11.10.2015, 11:22. Показов 1226. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

В моей БД есть три таблицы: словарь специальностей, словарь гос. специализаций и таблица связи (в ней коды из предыдущих таблиц) этих двух словарей. Каждой гос. специализации соответствует специальность, однако не каждой специальности соответствует гос. специализация.

Мне нужно сформировать отчет (соответственно и таблицу) в которой бы указывались все специальности, и, если есть, гос. специализация, иначе это поле оставалось бы пустым.

Я пытался сформировать запрос:
Select nameSpeciality, nameSpec
From UnivSpeciality, SPEC, ghost_UnivSpec_to_Spec
Where ((UnivSpeciality.idUnivSpec = ghost_UnivSpec_to_Spec.idUnivSpec) and (SPEC.idSpec = ghost_UnivSpec_to_Spec.idSpec)) or (UnivSpeciality.idUnivSpec != ghost_UnivSpec_to_Spec.idUnivSpec);

Ничего хорошего мне это не дало.

Пытался упростить задачу до минимума и вывести только специальности, у которых нет специализации:
Select nameSpeciality
From UnivSpeciality, ghost_UnivSpec_to_Spec
Where (UnivSpeciality.idUnivSpec != ghost_UnivSpec_to_Spec.idUnivSpec)

Итогом работы последнего запроса является 175 строк (по 25 повторений одной специальности. Для справки: в справочнике специальностей 8 записей, в таблице связи 5 записей - т.е. у 5 специальностей есть спец-я).

В общем-то вопрос: как сформировать запрос на вывод всех специальностей и их специализаций (которой может и не быть)?

P.S. работаю в NCReport с перспективой интеграции в qt.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.10.2015, 11:22
Ответы с готовыми решениями:

Не получается составить запрос
Всем привет! Вот уже 29 декабря, а я все никак не могу получить зачет по базам данных...Застрял на таком запросе: Режиссеры, фильмы...

Как сформировать запрос?
Есть таблица с полями: id, doc_id, text Эта таблица содержит контент документов сайта, проиндексированных для поиска. Так как...

не получается запрос
в общем не получается запрос. даны таблицы dbo.mmmpl и dbo.DEBIT из первой выбираем столбцы Nskv, PLAST, Krow, Podosh, MEF, Por из...

2
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
11.10.2015, 18:15
Лучший ответ Сообщение было отмечено Hanz как решение

Решение

Так как не для каждой специальности, есть соответствующая гос. специализация, а специальности нужно вывести все - сразу напрашивается использование left join.

Если я всё правильно понял (UnivSpeciality - таблица специальности, SPEC - таблица гос. специзаций), то запрос такой
SQL
1
2
3
4
SELECT S.nameSpeciality, G.nameSpec
FROM UnivSpeciality S
     LEFT JOIN ghost_UnivSpec_to_Spec SG ON S.idUnivSpec = SG.idUnivSpec
     LEFT JOIN SPEC G ON SG.idSpec = G.idSpec
1
0 / 0 / 0
Регистрация: 22.07.2015
Сообщений: 10
12.10.2015, 12:33  [ТС]
Спасибо за помощь! То, что у вас написано, правда, сразу понять не удалось, но по наводке LEFT JOIN почитал и "вкурил" в ситуацию. Пойду прикручу к основному запросу=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2015, 12:33
Помогаю со студенческими работами здесь

Не получается SQL-запрос
Доброго времени суток! Есть три таблицы CLIENTS, DEALS, PAYMENTS. В CLIENTS хранятся данные о клиентах, в DEALS хранятся данные о...

Не получается дописать запрос!
Есть таблица заказов. Написал запрос, который из всей таблицы показывает только столбцы ID клиента, ФИО, телефон, и столбец...

Sql запрос что то не получается.
Даны несколько таблиц к примеру "абоненты", "улицы" и "данные". В таблице "данные" есть данные абонентов (у каждого аб. несколько...

Не получается создать вложенный запрос
Есть такой запрос: SELECT Студент., Студент.ФИО, Дисциплина.Название, Запрос6.Сумма AS , Sum(.Ранг*Дисциплина.) AS Объем FROM Запрос6...

сформировать запрос
День добрый. помогите сформировать запрос Есть определенная сумма на покупку материалов, есть затраты, нужно вычислить остаток. (эти...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru