Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.12.2021
Сообщений: 25

Запросы со связанными таблицами, в которых присутствуют массивы

01.11.2022, 17:10. Показов 404. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть две таблицы. С условными проектами и участниками. В массивах указаны проекты (по номерам), в которых участвовал тот или иной человек. Нужно выполнить два запроса(в виде функций).

В поле status 1 это руководитель, 0 - обычный участник.

Первый элемент массива из id_pro соответствует первому элементу в столбце status

1. Функция выведет список сотрудников, участвовавших в указанном проекте.
2. Функция выведет руководителя указанного проекта.

MySQL
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
CREATE TABLE projects
(
    id_pro serial NOT NULL,             
    project varchar(20) NOT NULL,
    direction varchar(20) NOT NULL,
    duration smallint NOT NULL,
    PRIMARY KEY ("id_pro")
);
 
CREATE TABLE base
(
    id_emp serial NOT NULL,             
    employee varchar(40) NOT NULL,
    projects smallint[],
    status smallint[] NOT NULL,
    rating smallint NOT NULL,
    PRIMARY KEY ("id_emp")
);
 
INSERT INTO projects
VALUES
(1,  'Проект_1',  'Направление_1', 3),
(2,  'Проект_2',  'Направление_2', 4),
(3,  'Проект_3',  'Направление_4', 1),
(4,  'Проект_4',  'Направление_1', 7),
(5,  'Проект_5',  'Направление_2', 9),
(6,  'Проект_6',  'Направление_1', 3),
(7,  'Проект_7',  'Направление_1', 4),
(8,  'Проект_8',  'Направление_5', 2),
(9,  'Проект_9',  'Направление_1', 2),
(10, 'Проект_10', 'Направление_5', 5),
(11, 'Проект_11', 'Направление_3', 12),
(12, 'Проект_12', 'Направление_6', 8),
(13, 'Проект_13', 'Направление_3', 4),
(14, 'Проект_14', 'Направление_6', 7),
(15, 'Проект_15', 'Направление_6', 7),
(16, 'Проект_16', 'Направление_2', 9),
(17, 'Проект_17', 'Направление_3', 15),
(18, 'Проект_18', 'Направление_4', 9),
(19, 'Проект_19', 'Направление_3', 2),
(20, 'Проект_20', 'Направление_4', 1);
 
 
INSERT INTO base
VALUES
(1, 'Медведева Анна', ARRAY[3,14,16,17], ARRAY[0,0,0,0,0], 17),
(2, 'Гончаров Даниэль', ARRAY[5,14,12], ARRAY[0,0,0,0,0], 45),
(3, 'Старостин Сергей', ARRAY[10,9,15], ARRAY[0,0,0,0,0], 47),
(4, 'Назаров Владимир', ARRAY[1,4,5], ARRAY[1,0,0,0,0], 78),
(5, 'Пастухова Фатима', ARRAY[8,18,5,13], ARRAY[0,0,0,0,0], 27),
(6, 'Данилов Артём', ARRAY[7,12,11,6,2], ARRAY[0,0,0,0,1], 83),
(7, 'Журавлева Варвара', ARRAY[10,18,20,7,12], ARRAY[0,0,0,0,0], 72),
(8, 'Ульянова Полина', ARRAY[9,4,18,13,8], ARRAY[0,0,0,0,0], 42),
(9, 'Степанова Альбина', ARRAY[10,5], ARRAY[0,0,0,0,0], 36),
(10, 'Крюкова Дарина', ARRAY[5,7,17,9], ARRAY[0,0,0,0,0], 29),
(11, 'Шапошникова Диана', null, ARRAY[0,0,0,0,0], 0),
(12, 'Журавлев Демид', ARRAY[10,15,17,8,20], ARRAY[0,0,0,0,1], 39),
(13, 'Зайцев Артём', ARRAY[5,1,8,7,19], ARRAY[0,0,0,0,0], 0),
(14, 'Попова Злата', ARRAY[6,9], ARRAY[0,0,0,0,0], 87),
(15, 'Лазарева Софья', ARRAY[2,15,17,19,6], ARRAY[0,0,0,0,0], 13),
(16, 'Усова Мадина', ARRAY[4,10,19,14], ARRAY[0,0,0,0,0], 16),
(17, 'Калугин Дмитрий', ARRAY[8,16,19,18,1], ARRAY[0,0,0,0,0], 65),
(18, 'Иванов Артём', ARRAY[2,13,11,14], ARRAY[0,0,0,0,0], 0),
(19, 'Попов Егор', ARRAY[1,13,16,19], ARRAY[0,0,0,0,0], 31),
(20, 'Иванова Варвара', ARRAY[9,4,14,11], ARRAY[0,1,0,0,0], 10),
(21, 'Иванов Дмитрий', ARRAY[10,4], ARRAY[0,0,0,0,0], 33),
(22, 'Иванов Максим', ARRAY[5,15,13,3,13], ARRAY[0,0,0,1,0], 65),
(23, 'Костина Софья', ARRAY[7,17], ARRAY[0,0,0,0,0], 0),
(24, 'Гусев Михаил', ARRAY[10,16], ARRAY[0,0,0,0,0], 60),
(25, 'Родин Герман', ARRAY[3,20,13,8,12], ARRAY[0,0,0,0,0], 36),
(26, 'Прохоров Мирон', ARRAY[6,8,13,19,9], ARRAY[0,0,0,1,0], 58),
(27, 'Прохоров Платон', ARRAY[6,9,19,12], ARRAY[0,0,0,0,0], 33),
(28, 'Фомин Владислав', ARRAY[1,8,6,5], ARRAY[0,0,0,1,0], 0),
(29, 'Анисимова Мелания', ARRAY[6,8,7,16], ARRAY[0,0,0,0,0], 0),
(30, 'Медведев Артём', ARRAY[7,18,10,2], ARRAY[0,1,0,0,0], 83),
(31, 'Осипова Ярослава', ARRAY[9,5,20,14,16], ARRAY[0,0,0,0,0], 34),
(32, 'Васильев Тимур', ARRAY[8], ARRAY[0,0,0,0,0], 76),
(33, 'Назарова Анна', ARRAY[9,7,14,10,16], ARRAY[0,0,0,0,0], 39),
(34, 'Никонова Елизавета', ARRAY[8,20,5,16,17], ARRAY[0,0,0,0,0], 38),
(35, 'Николаев Евгений', ARRAY[7,2,15,17], ARRAY[0,0,0,0,0], 17),
(36, 'Мельникова Надежда', ARRAY[4,16,15,12], ARRAY[0,0,0,0,0], 0),
(37, 'Быкова Сафия', null, ARRAY[0,0,0,0,0], 0),
(38, 'Сафонов Марк', ARRAY[9,10,9,16,5], ARRAY[0,0,0,0,0], 80),
(39, 'Соколова Виктория', ARRAY[2,7,10,12,19], ARRAY[0,0,0,0,0], 59),
(40, 'Горелов Даниил', null, ARRAY[0,0,0,0,0], 0),
(41, 'Черных Семён', ARRAY[4,6,19,4,14], ARRAY[0,1,0,0,0], 69),
(42, 'Алешин Кирилл', null, ARRAY[0,0,0,0,0], 0),
(43, 'Блинова Амалия', ARRAY[10,15,7,3,3], ARRAY[0,0,1,0,0], 42),
(44, 'Блохин Кирилл', ARRAY[10,17,7,13,16], ARRAY[0,1,0,0,0], 39),
(45, 'Орлов Кирилл', ARRAY[10,15,20,14], ARRAY[0,0,0,0,0], 21),
(46, 'Дмитриев Сергей', ARRAY[2,13,8,10], ARRAY[0,0,0,0,0], 38),
(47, 'Орлов Максим', ARRAY[3,19,5,17], ARRAY[0,0,0,0,0], 11),
(48, 'Терехова Елена', ARRAY[8,4,6,7], ARRAY[0,0,0,0,0], 26),
(49, 'Смирнов Лев', ARRAY[10,1,15,16], ARRAY[0,0,0,0,0], 82),
(50, 'Антонова Елизавета', ARRAY[9,8,18,15,14], ARRAY[0,1,0,0,0], 83),
(51, 'Чернышева Ксения', ARRAY[8,19,6,16,10], ARRAY[0,0,0,1,0], 83),
(52, 'Лебедев Савелий', ARRAY[1,13], ARRAY[0,0,0,0,0], 0),
(53, 'Карпов Марк', ARRAY[2,17,14,4,7], ARRAY[0,0,0,0,0], 43),
(54, 'Ковалева Мария', ARRAY[9,17,20,2,11], ARRAY[0,0,0,0,0], 56),
(55, 'Орлова Алина', null, ARRAY[0,0,0,0,0], 0),
(56, 'Сидорова Софья', ARRAY[6,3,10,14,1], ARRAY[0,0,0,0,0], 12),
(57, 'Зуев Дмитрий', ARRAY[1,4], ARRAY[0,0,0,0,0], 0),
(58, 'Петров Степан', ARRAY[1,20,19,16,11], ARRAY[0,0,0,0,0], 0),
(59, 'Гончарова Виолетта', ARRAY[8,20,8], ARRAY[0,0,0,0,0], 74),
(60, 'Комарова Арина', ARRAY[9,7,17,19], ARRAY[0,0,0,0,0], 44),
(61, 'Григорьева Юлия', null, ARRAY[0,0,0,0,0], 0),
(62, 'Степанов Денис', ARRAY[4,16,15], ARRAY[0,0,0,0,0], 19),
(63, 'Леонтьев Николай', ARRAY[8,10,12,19,14], ARRAY[0,0,0,0,0], 36),
(64, 'Гаврилова Алиса', ARRAY[4,18,17,1,6], ARRAY[0,0,0,0,0], 16),
(65, 'Пирогов Дмитрий', ARRAY[5,10], ARRAY[0,0,0,0,0], 81),
(66, 'Короткова Елизавета', ARRAY[10,3,5,20,15], ARRAY[0,0,0,0,0], 13),
(67, 'Маслов Ярослав', ARRAY[5,12,11,15], ARRAY[0,0,0,0,0], 0),
(68, 'Анисимов Марк', ARRAY[6,10,20,18], ARRAY[0,0,0,0,0], 87),
(69, 'Никифорова Елизавета', ARRAY[5,17,16,15], ARRAY[0,0,0,0,0], 0),
(70, 'Скворцова София', ARRAY[3,6,15,14,8], ARRAY[0,0,1,0,0], 59),
(71, 'Марков Илья', ARRAY[4], ARRAY[0,0,0,0,0], 0),
(72, 'Панова Дарья', ARRAY[9,13,16,6,7], ARRAY[0,0,0,0,0], 53),
(73, 'Плотникова Лидия', ARRAY[8,12,16,10,3], ARRAY[0,0,0,0,0], 15),
(74, 'Смирнов Дмитрий', null, ARRAY[0,0,0,0,0], 0),
(75, 'Волкова Татьяна', ARRAY[6,12,11,3], ARRAY[0,0,0,0,0], 61),
(76, 'Макаров Семён', ARRAY[12,5,8,17], ARRAY[0,0,0,0,0], 0),
(77, 'Капустина Фатима', ARRAY[10,16,16,12], ARRAY[0,0,0,0,0], 69),
(78, 'Логинова Виктория', ARRAY[9,3,20], ARRAY[0,0,0,0,0], 44),
(79, 'Колесникова Ева', ARRAY[1,5,15,14], ARRAY[0,0,0,1,0], 43),
(80, 'Наумова Мария', ARRAY[5,2,16,11], ARRAY[0,0,0,0,0], 22),
(81, 'Молчанова Мирослава', ARRAY[6,2,19,12,11], ARRAY[0,0,0,0,0], 83),
(82, 'Кузнецова Вероника', ARRAY[5], ARRAY[0,0,0,0,0], 0),
(83, 'Соколов Андрей', ARRAY[7,12], ARRAY[0,1,0,0,0], 0),
(84, 'Семина Ника', ARRAY[2], ARRAY[0,0,0,0,0], 90),
(85, 'Зеленина Кристина', null, ARRAY[0,0,0,0,0], 0),
(86, 'Егорова София', ARRAY[6,20,7,4,3], ARRAY[0,0,0,0,0], 12),
(87, 'Анисимов Даниил', ARRAY[11], ARRAY[0,0,0,0,0], 0),
(88, 'Коротков Георгий', ARRAY[4,6,16,2,5], ARRAY[0,0,0,0,0], 84),
(89, 'Павловский Владимир', ARRAY[9,2,16,19], ARRAY[1,0,0,0,0], 84),
(90, 'Киселева Алиса', ARRAY[10,18,13,7], ARRAY[0,0,0,0,0], 73),
(91, 'Куприянов Тимофей', ARRAY[10,4,18,17], ARRAY[1,0,0,0,0], 78),
(92, 'Кузнецова Арина', ARRAY[2,5], ARRAY[0,0,0,0,0], 31),
(93, 'Куликов Никита', ARRAY[20], ARRAY[0,0,0,0,0], 0),
(94, 'Марков Владислав', ARRAY[4,3], ARRAY[0,0,0,0,0], 57),
(95, 'Макаров Дмитрий', ARRAY[6,3,11,2,7], ARRAY[0,0,1,0,0], 35),
(96, 'Федорова Алина', ARRAY[9,3], ARRAY[0,0,0,0,0], 10),
(97, 'Котова Майя', ARRAY[10,4,17,4], ARRAY[0,0,0,0,0], 56),
(98, 'Ефремов Иван', ARRAY[6,14], ARRAY[0,0,0,0,0], 87),
(99, 'Васильев Даниил', ARRAY[2,11,18,2], ARRAY[0,0,0,0,0], 22),
(100, 'Федоров Дмитрий', ARRAY[3,5,17,13], ARRAY[0,0,0,1,0], 37)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.11.2022, 17:10
Ответы с готовыми решениями:

Запросы со связанными таблицами
Доброго времени суток! Нужно сделать запросы с использование CROSS JOIN и соединение по указываемым столбцам (USING). Для CROSS JOIN...

Работа со связанными таблицами
В программе использую следующий код AnsiString buffer; ADOTable1->RecNo = CBSubDiv->ItemIndex + 1; buffer =...

Работа со связанными таблицами
Есть у меня три таблицы (показаны на рисунке), как мне вывести CustomerName из таблицы customer по CustomerID из таблицы order? Спасибо...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.11.2022, 17:10
Помогаю со студенческими работами здесь

Работа со связанными таблицами
Hi All! Есть две таблицы. Первая: КОД_БОЛЬНОГО ФИО_БОЛЬНОГО

Работа со связанными таблицами
Этот вопрос я задал и в разделе VB, извините за дублирование, но это тесно связано с SQL/ База в SQL. Клиент на VB. в...

Модель со связанными таблицами
Здравствуйте! Из заголовка суть вопроса понять сложно, поэтому постараюсь все объяснить на пальцах :) Есть у меня вот такая моделька: ...

Работа со связанными таблицами
Ребят? подскажите пожалуйста, как работать со связанными таблицами Пример : Уменя есть табличка студенты(номер зачетки, фио, адрес,...

Связь combobox со связанными таблицами
Доброго времени суток! Поставил 2 combobox. В одной отображаются наименования региона, код региона - первичный ключ region_id. Во...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru