|
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
|
||||||
Снова вложенный Select не выходит28.06.2017, 15:22. Показов 1649. Ответов 18
Метки нет (Все метки)
И снова здравствуйте. Имеются 2 таблички Divisions - список подразделений и Staff - персонал. Не могу никак организовать правильную выборку. В подразделениях есть и группы (подчиненные подразделения) и сами головные подразделения, а вот в staff головного подразделения, как оказалось, может и не быть, а только группы этого подразделения. Как выбрать и головное подразделение, и эти самые группы, но в результате вывести только головное? Пробовал несколько модификаций такого запроса, но не выходит каменный цветок - вместо бухгалтерии её подчиненные группы
![]()
0
|
||||||
| 28.06.2017, 15:22 | |
|
Ответы с готовыми решениями:
18
Вложенный Select вложенный SELECT |
|
|
|
| 28.06.2017, 15:54 | |
|
тут с картинками расписаны join
http://www.skillz.ru/dev/php/a... OUTER.html
0
|
|
|
W
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
|
|
| 28.06.2017, 15:56 | |
|
Надо 3 таблички: Подразделения-Группы-Персонал. Если даже группы нет, то ее надо вводить и дублировать название из подразделения.
0
|
|
|
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
|
||
| 28.06.2017, 16:34 [ТС] | ||
|
krapotkin, статья интересная, но как на своем примере ее реализовать я не понял. Либо тот же результат, либо + еще одна пустая строка (при Left Outer Join).
Походу придется чет мудрить с двумя по-разному открытыми таблицами. Добавлено через 1 минуту
0
|
||
|
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
|
|
| 29.06.2017, 09:48 [ТС] | |
|
krapotkin, конкретно мне необходимо группы и бригады, входящие в состав отдела сгруппировать в отдел и вывести информацию закрыт ли период в отделе, а не по отдельным группам. В данном конкретном случае приведен пример на бухгалтерии. Этот отдел разбит в таблице staff на 8 групп (база еще не наполнена поэтому тут только три группы 16ЦБ-0225, 16ЦБ-0227 и 16ЦБ-0023). Эти группы должны в отчете отобразиться как Бухгалтерия 16ЦБ-0021, которая указана в таблице divisions, как головной отдел для этих групп. А сейчас у меня, как видно из результата, Бухгалтерия 16ЦБ-0021 вообще в списке отсутствует. И таких бригад будет ппц как много в дальнейшем. В одной только механо-ремонтной службе 25 бригад, а отобразиться они должны будут, как единая МРС.
0
|
|
|
|
|
| 29.06.2017, 10:04 | |
|
воу. палехче))
конкретно - это значит мы приводим конкретные данные для двух отделов вводим туда по два-три работника. публикуем тут эти данные! )) и рисуем таблицу с данными, которую должны получить в результате запроса
0
|
|
|
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
|
|
| 29.06.2017, 11:58 [ТС] | |
|
krapotkin,
Вот БД с двумя таблицами. Если поле Headnum пустое, то это головное подразделение, иначе подчиненное. Нужно из них получить на выходе:Наименование отдела (Division), код отдела (n_div) закрытие (closed) Отдел автоматизации 1014 1 МРС 2070 0 Бухгалтерия 16ЦБ-0021 1 Никаких групп и бригад. Они должны сгруппироваться в головной отдел. Но, как говорит мой двухгодовалый сынишка, когда что-то не получается - "не опля"
0
|
|
|
|
|
| 29.06.2017, 13:20 | |
|
у меня нет аксесса, поэтому только на пальцах
при каких условиях Closed=1 ? когда все группы =1 или одна из групп =1? Добавлено через 59 секунд сделайте хотя бы excel таблички. можно и тут нарисовать 10 строк
0
|
|
|
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
|
|
| 29.06.2017, 14:06 [ТС] | |
|
krapotkin, Closed=1 программно устанавливается сразу отделу и всем группам, входящим в состав отдела при закрытии периода оператором. Вот excel таблички.
0
|
|
|
|
||||||
| 29.06.2017, 15:10 | ||||||
|
если closed одно значение для всех, да еще требуется приблуда, чтобы выставить его автоматически, значит этому полю тут не место и оно физически должно находиться в Divisions
поле Head - абсолютно нелепое и не нужно вообще сейчас же просто мегакостыль
0
|
||||||
|
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
|
||
| 29.06.2017, 15:40 [ТС] | ||
, но, к сожалению выдает ошибку синтаксиса
0
|
||
|
|
||||||||||||||||
| 29.06.2017, 15:54 | ||||||||||||||||
|
отлаживайте запрос по частям
если поле Closed не в справочник, то в таблицу с отношениями 1-1 к справочнику но точно не в Staff плохо видно. но ошибка : n-div а надо было N_DIV
0
|
||||||||||||||||
|
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
|
||
| 29.06.2017, 15:59 [ТС] | ||
|
сейчас попробую отследить.
0
|
||
|
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
|
||||||
| 29.06.2017, 16:08 [ТС] | ||||||
|
Первый и второй ваши варианты работают,
0
|
||||||
|
|
||||||
| 29.06.2017, 16:15 | ||||||
Сообщение было отмечено drvolodko как решение
Решение
значит у аксесса есть какие-то нестандартные дополнения по использованию нескольких left join
может скобок ему каких-нить добавить
1
|
||||||
|
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 752
|
||||||
| 29.06.2017, 17:01 [ТС] | ||||||
|
krapotkin, проверил на MS SQL и доработал ваш запрос (добавил условие) и все заработало!!!!!
0
|
||||||
| 29.06.2017, 17:01 | |
|
Помогаю со студенческими работами здесь
19
Select и вложенный запрос
Как добавить условие на вложенный select? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|