powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Многотабличные базы данных не получается написать запрос
17 сообщений из 17, страница 1 из 1
Многотабличные базы данных не получается написать запрос
    #39906468
Vadik1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия MS SQL 2017
Не могу выполнить правильно запрос, не выводит данные или ошибки. Сделал одно задание, но над остальными ломаю голову. Дайте подсказку или скажите как делать.
спасибо.

Код: 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.
26.
27.
28.
29.
--Запросы
 
--1. Вывести все возможные пары строк преподавателей и групп.
--SELECT * FROM Teachers
--INNER JOIN Groups
--ON Teachers.Name=Groups.Name
 
--2. Вывести названия факультетов, фонд финансирования кафедр которых превышает фонд финансирования факультета.
 
--SELECT NAME
--FROM Departments
--WHERE Financing > ANY (SELECT Financing FROM Faculties)
--SELECT NAME
--FROM Departments
--WHERE Financing > (SELECT MIN(Financing) FROM Faculties)
 
--3. Вывести фамилии кураторов групп и названия групп, которые они курируют.
 
SELECT NAME
FROM Curators 
 
--4. Вывести имена и фамилии преподавателей, которые читают лекции у группы “P107”.
--5. Вывести фамилии преподавателей и названия факультетов на которых они читают лекции.
--6. Вывести названия кафедр и названия групп, которые к ним относятся.
--7. Вывести названия дисциплин, которые читает преподаватель “Samantha Adams”.
--8. Вывести названия кафедр, на которых читается дисциплина “Database Theory”.
--9. Вывести названия групп, которые относятся к факультету “Computer Science”.
--10. Вывести названия групп 5-го курса, а также название фа- культетов, к которым они относятся.
--11. Вывести полные имена преподавателей и лекции, которые они читают (названия дисциплин и групп), причем отобрать только те лекции, которые читаются в аудитории “B103”.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906484
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а где схемы таблиц, связи между ними?
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906504
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadik1Сделал одно заданиеНагло врете. Вы ничего не сделали.

Уважаемый Vadik1. Или 22040551 , или санкции применю.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906548
Vadik1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич
Нагло врете.
Почему?

Гавриленко Сергей Алексеевич
22040551 , или санкции применю.
это я выполнил, как мог и те правила - это рекомендации, а не свод жестких правил. Либо объясните нормально, что хотите, потому что не понимаю.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906572
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadik1
Сделал одно задание[SRC sql]--Запросы

--1. Вывести все возможные пары строк преподавателей и групп.
--SELECT * FROM Teachers
--INNER JOIN Groups
--ON Teachers.Name=Groups.Name
Начнём с первого.

Что за поле Name? В таблице преподавателей это имя преподавателя, а в таблице групп - имя группы?
Если да, то в этом запросе показывается список групп, название которых равно имени преподавателя.
Vadik1
это я выполнил, как мог и те правила - это рекомендации, а не свод жестких правил. Либо объясните нормально, что хотите, потому что не понимаю.
Это рекомендации, как сделать свой вопрос понятным для читающих.

У вас не описаны таблицы, поэтому непонятно, как написать запрос.

А отсутствие тестового скрипта, с наполнением данными, не позволяет легко писать запросы, приходится делать это вслепую.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906630
Vadik1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg
А отсутствие тестового скрипта, с наполнением данными, не позволяет легко писать запросы, приходится делать это вслепую.
Я понял, думаю это то что надо? https://yadi.sk/d/dGC5r6rj4-tUJQ
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906649
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadik1
alexeyvg
А отсутствие тестового скрипта, с наполнением данными, не позволяет легко писать запросы, приходится делать это вслепую.
Я понял, думаю это то что надо? https://yadi.sk/d/dGC5r6rj4-tUJQ
Да, но лучше к вопросу делать скрипт с данными, и свой вариант. Как тут, например: https://www.sql.ru/forum/128200/inner-join-s-usloviem#1014485

Понимаете, тут не делают курсовики для студентов, по выложенному заданию. Для этого вам лучше найти кого то в ВУЗе, кто сделает за деньги.

Тут общение и взаимная помощь профессионалов, помощь тем, кто хочет сам освоить MSSQL.
Если вы сами не хотите приложить усилия, и разобраться, то зачем участникам форума это надо? Мы все свои курсовики давно сдали.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906675
Vadik1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg
Понимаете, тут не делают курсовики для студентов, по выложенному заданию. Для этого вам лучше найти кого то в ВУЗе, кто сделает за деньги.
Я сам хочу освоить SQL я не просто не знал, как вам надо дать скрипт, но теперь понял.

alexeyvg
Для этого вам лучше найти кого то в ВУЗе, кто сделает за деньги.
Я вуз год назад окончил, и сам осваиваю программирования и БД.


alexeyvg
Если вы сами не хотите приложить усилия, и разобраться, то зачем участникам форума это надо?
Я хочу сам все освоить.

alexeyvg
Мы все свои курсовики давно сдали.
Я тоже давно как все сдал.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906677
Vadik1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg
Да, но лучше к вопросу делать скрипт с данными, и свой вариант. Как тут, например: https://www.sql.ru/forum/128200/inner-join-s-usloviem#1014485

Это создание запросов и задания

Код: 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.
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.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
--1. curators
 
--SELECT * FROM Curators
--INSERT INTO [Curators]
--(
--[Name], [Surname]
--)
--VALUES
--('Oleg', 'Barbakov'),
--('Dina', 'Panarina'),
--('Julia', 'Zuk'),
--('Irina', 'Savochkina'),
--('Irina', 'Zuravleva')
--2. Departments
 
--SELECT * FROM Departments
--INSERT INTO Departments
--(
--[Financing], [Name], [FacultyId]
--)
--VALUES
--(30000,'Bib', 11),
--(25000,'Ebb', 12),
--(40000,'BibM', 10),
--(20000,'BibB', 14),
--(19999,'EbM', 19)
--3. Faculties
 
--SELECT * FROM Faculties
--INSERT INTO Faculties
--(
--[Financing], [Name]
--)
--VALUES
--(60000, 'Natural science'),
--(50000, 'Biologies'),
--(40000, 'Physical and mathematical Sciences'),
--(70000, 'Computer science'),
--(100000, 'Computer engineering and programming')
--4. Groups
 
--SELECT * FROM Groups
--INSERT INTO Groups
--(
--[Name], [Year], [DepartmentId]
--)
--VALUES
--('NatSc', 1, 11),
--('Bio', 3, 14),
--('PhMatsC', 5, 16),
--('CompSc', 2, 10),
--('CompEnPr', 4, 9)
 
--5. GroupsCurators
--SELECT * FROM GroupsCurators
--INSERT INTO GroupsCurators
--(
--[CuratorId], [GroupId]
--)
--VALUES
--(1, 11),
--(3, 14),
--(5, 16),
--(2, 10),
--(4, 9)
 
--6. GroupsLectures
--SELECT * FROM GroupsLectures
--INSERT INTO GroupsLectures
--(
--[GroupId], [LectureId]
--)
--VALUES
--(13, 11),
--(31, 14),
--(54, 16),
--(25, 10),
--(47, 9)
 
--7. Lectures
--SELECT * FROM Lectures
--INSERT INTO Lectures
--(
--[LectureRoom], [SubjectId], [TeacherId]
--)
--VALUES
--('Mathematics', 11, 31),
--('Chemistry', 3, 14),
--('Physics', 2, 16),
--('Computers', 4, 10),
--('Programmers', 8, 9)
 
--8 Subjects
--SELECT * FROM Subjects
--INSERT INTO Subjects
--(
--[Name]
--)
--VALUES
--('Higher mathematics'),
--('computer Science'),
--('Molecular physics'),
--('Nuclear physics'),
--('Programming')
 
--9. Teachers
--SELECT * FROM Teachers
--INSERT INTO Teachers
--(
--[Name], [Salary], [Surname]
--)
--VALUES
--('Oleg', 5000, 'Barbakov'),
--('Svetlana', 2000, 'Ovcinikova'),
--('Marina', 2200, 'Ahanova'),
--('Anastasia', 1800, 'Hodenko'),
--('Alexander', 1900, 'Bochkarev')
 
--Курс:
--Теория баз данных
--Тема: Многотабличные базы данных.
 
--Запросы
 
--1. Вывести все возможные пары строк преподавателей и групп.
--SELECT * FROM Teachers
--INNER JOIN Groups
--ON Teachers.Name=Groups.Name
 
--2. Вывести названия факультетов, фонд финансирования кафедр которых превышает фонд финансирования факультета.
 
--SELECT NAME
--FROM Departments
--WHERE Financing > ANY (SELECT Financing FROM Faculties)
--SELECT NAME
--FROM Departments
--WHERE Financing > (SELECT MIN(Financing) FROM Faculties)
 
--3. Вывести фамилии кураторов групп и названия групп, которые они курируют.
 
--SELECT Surname
--FROM Curators
--UNION
--SELECT Name
--FROM Groups
 
--4. Вывести имена и фамилии преподавателей, которые читают лекции у группы “P107”.
 
SELECT Name, Surname
FROM Curators
UNION
 
 
--5. Вывести фамилии преподавателей и названия факультетов на которых они читают лекции.
--6. Вывести названия кафедр и названия групп, которые к ним относятся.
--7. Вывести названия дисциплин, которые читает преподаватель “Samantha Adams”.
--8. Вывести названия кафедр, на которых читается дисциплина “Database Theory”.
--9. Вывести названия групп, которые относятся к факультету “Computer Science”.
--10. Вывести названия групп 5-го курса, а также название фа- культетов, к которым они относятся.
--11. Вывести полные имена преподавателей и лекции, которые они читают (названия дисциплин и групп), причем отобрать только те лекции, которые читаются в аудитории “B103”.




Тут БД
Код: 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.
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.
USE [master]
GO
 
/****** Object:  Database [Academy2]    Script Date: 22.12.2019 3:31:42 ******/
CREATE DATABASE [Academy2]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Academy2', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\Academy2.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Academy2_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\Academy2_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
GO
 
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
BEGIN
EXEC [Academy2].[dbo].[sp_fulltext_database] @action = 'enable'
END
GO
 
ALTER DATABASE [Academy2] SET ANSI_NULL_DEFAULT OFF 
GO
 
ALTER DATABASE [Academy2] SET ANSI_NULLS OFF 
GO
 
ALTER DATABASE [Academy2] SET ANSI_PADDING OFF 
GO
 
ALTER DATABASE [Academy2] SET ANSI_WARNINGS OFF 
GO
 
ALTER DATABASE [Academy2] SET ARITHABORT OFF 
GO
 
ALTER DATABASE [Academy2] SET AUTO_CLOSE OFF 
GO
 
ALTER DATABASE [Academy2] SET AUTO_SHRINK OFF 
GO
 
ALTER DATABASE [Academy2] SET AUTO_UPDATE_STATISTICS ON 
GO
 
ALTER DATABASE [Academy2] SET CURSOR_CLOSE_ON_COMMIT OFF 
GO
 
ALTER DATABASE [Academy2] SET CURSOR_DEFAULT  GLOBAL 
GO
 
ALTER DATABASE [Academy2] SET CONCAT_NULL_YIELDS_NULL OFF 
GO
 
ALTER DATABASE [Academy2] SET NUMERIC_ROUNDABORT OFF 
GO
 
ALTER DATABASE [Academy2] SET QUOTED_IDENTIFIER OFF 
GO
 
ALTER DATABASE [Academy2] SET RECURSIVE_TRIGGERS OFF 
GO
 
ALTER DATABASE [Academy2] SET  DISABLE_BROKER 
GO
 
ALTER DATABASE [Academy2] SET AUTO_UPDATE_STATISTICS_ASYNC OFF 
GO
 
ALTER DATABASE [Academy2] SET DATE_CORRELATION_OPTIMIZATION OFF 
GO
 
ALTER DATABASE [Academy2] SET TRUSTWORTHY OFF 
GO
 
ALTER DATABASE [Academy2] SET ALLOW_SNAPSHOT_ISOLATION OFF 
GO
 
ALTER DATABASE [Academy2] SET PARAMETERIZATION SIMPLE 
GO
 
ALTER DATABASE [Academy2] SET READ_COMMITTED_SNAPSHOT OFF 
GO
 
ALTER DATABASE [Academy2] SET HONOR_BROKER_PRIORITY OFF 
GO
 
ALTER DATABASE [Academy2] SET RECOVERY SIMPLE 
GO
 
ALTER DATABASE [Academy2] SET  MULTI_USER 
GO
 
ALTER DATABASE [Academy2] SET PAGE_VERIFY CHECKSUM  
GO
 
ALTER DATABASE [Academy2] SET DB_CHAINING OFF 
GO
 
ALTER DATABASE [Academy2] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) 
GO
 
ALTER DATABASE [Academy2] SET TARGET_RECOVERY_TIME = 60 SECONDS 
GO
 
ALTER DATABASE [Academy2] SET DELAYED_DURABILITY = DISABLED 
GO
 
ALTER DATABASE [Academy2] SET QUERY_STORE = OFF
GO
 
ALTER DATABASE [Academy2] SET  READ_WRITE 
GO



Curators
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
USE [Academy2]
GO
 
/****** Object:  Table [dbo].[Curators]    Script Date: 22.12.2019 3:33:32 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TABLE [dbo].[Curators](
    [Id] [INT] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](MAX) NOT NULL,
    [Surname] [nvarchar](MAX) NOT NULL,
 CONSTRAINT [PK_Curators] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
 
ALTER TABLE [dbo].[Curators]  WITH CHECK ADD  CONSTRAINT [FK_Curators_Curators] FOREIGN KEY([Id])
REFERENCES [dbo].[Curators] ([Id])
GO
 
ALTER TABLE [dbo].[Curators] CHECK CONSTRAINT [FK_Curators_Curators]
GO
 
ALTER TABLE [dbo].[Curators]  WITH CHECK ADD  CONSTRAINT [CK_Curators] CHECK  (([Name]<>''))
GO
 
ALTER TABLE [dbo].[Curators] CHECK CONSTRAINT [CK_Curators]
GO
 
ALTER TABLE [dbo].[Curators]  WITH CHECK ADD  CONSTRAINT [CK_Curators_1] CHECK  (([Surname]<>''))
GO
 
ALTER TABLE [dbo].[Curators] CHECK CONSTRAINT [CK_Curators_1]
GO



Departments
Код: 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.
26.
27.
28.
29.
30.
USE [Academy2]
GO
 
/****** Object:  Table [dbo].[Departments]    Script Date: 22.12.2019 3:33:42 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TABLE [dbo].[Departments](
    [Id] [INT] IDENTITY(1,1) NOT NULL,
    [Financing] [money] NOT NULL,
    [Name] [nvarchar](100) NOT NULL,
    [FacultyId] [INT] NOT NULL,
 CONSTRAINT [PK_Departments] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
 
ALTER TABLE [dbo].[Departments] ADD  CONSTRAINT [DF_Departments_Financing]  DEFAULT ((0)) FOR [Financing]
GO
 
ALTER TABLE [dbo].[Departments]  WITH CHECK ADD  CONSTRAINT [CK_Departments] CHECK  (([Financing]>=(0)))
GO
 
ALTER TABLE [dbo].[Departments] CHECK CONSTRAINT [CK_Departments]
GO



Faculties
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
USE [Academy2]
GO
 
/****** Object:  Table [dbo].[Faculties]    Script Date: 22.12.2019 3:33:54 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TABLE [dbo].[Faculties](
    [Id] [INT] IDENTITY(1,1) NOT NULL,
    [Financing] [money] NOT NULL,
    [Name] [nvarchar](100) NOT NULL,
 CONSTRAINT [PK_Faculties] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
 
ALTER TABLE [dbo].[Faculties] ADD  CONSTRAINT [DF_Faculties_Financing]  DEFAULT ((0)) FOR [Financing]
GO
 
ALTER TABLE [dbo].[Faculties]  WITH CHECK ADD  CONSTRAINT [CK_Faculties] CHECK  (([Financing]>=(0)))
GO
 
ALTER TABLE [dbo].[Faculties] CHECK CONSTRAINT [CK_Faculties]
GO
 
ALTER TABLE [dbo].[Faculties]  WITH CHECK ADD  CONSTRAINT [CK_Faculties_1] CHECK  (([Name]<>''))
GO
 
ALTER TABLE [dbo].[Faculties] CHECK CONSTRAINT [CK_Faculties_1]
GO



Groups
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
USE [Academy2]
GO
 
/****** Object:  Table [dbo].[Groups]    Script Date: 22.12.2019 3:34:03 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TABLE [dbo].[Groups](
    [Id] [INT] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](10) NOT NULL,
    [YEAR] [INT] NOT NULL,
    [DepartmentId] [INT] NOT NULL,
 CONSTRAINT [PK_Groups] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
 
ALTER TABLE [dbo].[Groups]  WITH CHECK ADD  CONSTRAINT [FK_Groups_Departments] FOREIGN KEY([Id])
REFERENCES [dbo].[Groups] ([Id])
GO
 
ALTER TABLE [dbo].[Groups] CHECK CONSTRAINT [FK_Groups_Departments]
GO
 
ALTER TABLE [dbo].[Groups]  WITH CHECK ADD  CONSTRAINT [FK_Groups_Groups] FOREIGN KEY([Id])
REFERENCES [dbo].[Groups] ([Id])
GO
 
ALTER TABLE [dbo].[Groups] CHECK CONSTRAINT [FK_Groups_Groups]
GO
 
ALTER TABLE [dbo].[Groups]  WITH CHECK ADD  CONSTRAINT [CK_Groups] CHECK  (([Name]<>''))
GO
 
ALTER TABLE [dbo].[Groups] CHECK CONSTRAINT [CK_Groups]
GO
 
ALTER TABLE [dbo].[Groups]  WITH CHECK ADD  CONSTRAINT [CK_Groups_1] CHECK  (([YEAR]>=(1) AND [YEAR]<=(5)))
GO
 
ALTER TABLE [dbo].[Groups] CHECK CONSTRAINT [CK_Groups_1]
GO



GroupsCurators
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
USE [Academy2]
GO
 
/****** Object:  Table [dbo].[GroupsCurators]    Script Date: 22.12.2019 3:34:12 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TABLE [dbo].[GroupsCurators](
    [Id] [INT] IDENTITY(1,1) NOT NULL,
    [CuratorId] [INT] NOT NULL,
    [GroupId] [INT] NOT NULL,
 CONSTRAINT [PK_GroupsCurators] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
 
ALTER TABLE [dbo].[GroupsCurators]  WITH CHECK ADD  CONSTRAINT [FK_GroupsCurators_GroupsCurators] FOREIGN KEY([Id])
REFERENCES [dbo].[GroupsCurators] ([Id])
GO
 
ALTER TABLE [dbo].[GroupsCurators] CHECK CONSTRAINT [FK_GroupsCurators_GroupsCurators]
GO
 
ALTER TABLE [dbo].[GroupsCurators]  WITH CHECK ADD  CONSTRAINT [FK_GroupsCurators_GroupsCurators1] FOREIGN KEY([Id])
REFERENCES [dbo].[GroupsCurators] ([Id])
GO
 
ALTER TABLE [dbo].[GroupsCurators] CHECK CONSTRAINT [FK_GroupsCurators_GroupsCurators1]
GO
 
ALTER TABLE [dbo].[GroupsCurators]  WITH CHECK ADD  CONSTRAINT [FK_GroupsCurators_GroupsCurators2] FOREIGN KEY([Id])
REFERENCES [dbo].[GroupsCurators] ([Id])
GO
 
ALTER TABLE [dbo].[GroupsCurators] CHECK CONSTRAINT [FK_GroupsCurators_GroupsCurators2]
GO
 
ALTER TABLE [dbo].[GroupsCurators]  WITH CHECK ADD  CONSTRAINT [FK_GroupsCurators_GroupsCurators3] FOREIGN KEY([Id])
REFERENCES [dbo].[GroupsCurators] ([Id])
GO
 
ALTER TABLE [dbo].[GroupsCurators] CHECK CONSTRAINT [FK_GroupsCurators_GroupsCurators3]
GO



GroupsLectures
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
USE [Academy2]
GO
 
/****** Object:  Table [dbo].[GroupsLectures]    Script Date: 22.12.2019 3:34:21 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TABLE [dbo].[GroupsLectures](
    [Id] [INT] IDENTITY(1,1) NOT NULL,
    [GroupId] [INT] NOT NULL,
    [LectureId] [INT] NOT NULL,
 CONSTRAINT [PK_GroupsLectures] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
 
ALTER TABLE [dbo].[GroupsLectures]  WITH CHECK ADD  CONSTRAINT [FK_GroupsLectures_GroupsLectures] FOREIGN KEY([Id])
REFERENCES [dbo].[GroupsLectures] ([Id])
GO
 
ALTER TABLE [dbo].[GroupsLectures] CHECK CONSTRAINT [FK_GroupsLectures_GroupsLectures]
GO
 
ALTER TABLE [dbo].[GroupsLectures]  WITH CHECK ADD  CONSTRAINT [FK_GroupsLectures_GroupsLectures1] FOREIGN KEY([Id])
REFERENCES [dbo].[GroupsLectures] ([Id])
GO
 
ALTER TABLE [dbo].[GroupsLectures] CHECK CONSTRAINT [FK_GroupsLectures_GroupsLectures1]
GO
 
ALTER TABLE [dbo].[GroupsLectures]  WITH CHECK ADD  CONSTRAINT [FK_GroupsLectures_GroupsLectures2] FOREIGN KEY([Id])
REFERENCES [dbo].[GroupsLectures] ([Id])
GO
 
ALTER TABLE [dbo].[GroupsLectures] CHECK CONSTRAINT [FK_GroupsLectures_GroupsLectures2]
GO
 
ALTER TABLE [dbo].[GroupsLectures]  WITH CHECK ADD  CONSTRAINT [FK_GroupsLectures_GroupsLectures3] FOREIGN KEY([Id])
REFERENCES [dbo].[GroupsLectures] ([Id])
GO
 
ALTER TABLE [dbo].[GroupsLectures] CHECK CONSTRAINT [FK_GroupsLectures_GroupsLectures3]
GO



Subjects
Код: 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.
USE [Academy2]
GO
 
/****** Object:  Table [dbo].[Subjects]    Script Date: 22.12.2019 3:34:36 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TABLE [dbo].[Subjects](
    [Id] [INT] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](MAX) NOT NULL,
 CONSTRAINT [PK_Subjects] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
 
ALTER TABLE [dbo].[Subjects]  WITH CHECK ADD  CONSTRAINT [CK_Subjects] CHECK  (([Name]<>''))
GO
 
ALTER TABLE [dbo].[Subjects] CHECK CONSTRAINT [CK_Subjects]
GO



Teachers
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
USE [Academy2]
GO
 
/****** Object:  Table [dbo].[Teachers]    Script Date: 22.12.2019 3:34:50 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TABLE [dbo].[Teachers](
    [Id] [INT] IDENTITY(1,1) NOT NULL,
    [Name] [nvarchar](MAX) NOT NULL,
    [Salary] [money] NOT NULL,
    [Surname] [nvarchar](MAX) NOT NULL,
 CONSTRAINT [PK_Teachers] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
 
ALTER TABLE [dbo].[Teachers]  WITH CHECK ADD  CONSTRAINT [CK_Teachers] CHECK  (([Name]<>''))
GO
 
ALTER TABLE [dbo].[Teachers] CHECK CONSTRAINT [CK_Teachers]
GO
 
ALTER TABLE [dbo].[Teachers]  WITH CHECK ADD  CONSTRAINT [CK_Teachers_1] CHECK  (([Salary]>=(1)))
GO
 
ALTER TABLE [dbo].[Teachers] CHECK CONSTRAINT [CK_Teachers_1]
GO
 
ALTER TABLE [dbo].[Teachers]  WITH CHECK ADD  CONSTRAINT [CK_Teachers_2] CHECK  (([Surname]<>''))
GO
 
ALTER TABLE [dbo].[Teachers] CHECK CONSTRAINT [CK_Teachers_2]
GO

...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906685
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверьте, пожалуйста, еще раз данные. Например, в таблице dbo.Groups группы “P107” просто нет.
--1. Вывести все возможные пары строк преподавателей и групп
Код: sql
1.
2.
3.
SELECT GR.ID AS GROUP_ID,GR.NAME AS GROUP_NAME,TR.Id AS TEACHER_ID,TR.Surname AS TEACHER_SURNAME
FROM DBO.GROUPS AS GR
CROSS JOIN dbo.Teachers AS TR;



--2. Вывести названия факультетов, фонд финансирования кафедр которых превышает фонд финансирования факультета
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
WITH DEPARTMENTSFACULTYMONEY AS
(
  SELECT D.FacultyId,SUM(D.Financing)AS TOTAL_FINANCE
   FROM dbo.Departments AS D
   GROUP BY D.FacultyId
)
SELECT F.Id,F.NAME
FROM dbo.Faculties AS F
WHERE EXISTS
(
  SELECT 1 FROM DEPARTMENTSFACULTYMONEY AS C
   WHERE C.TOTAL_FINANCE>F.Financing
   AND F.Id=C.FacultyId
)


----3. Вывести фамилии кураторов групп и названия групп, которые они курируют
Код: sql
1.
2.
3.
4.
SELECT GC.CuratorId,CC.Surname,GR.Name
FROM dbo.GroupsCurators AS GC
JOIN dbo.Curators AS CC ON GC.CuratorId=CC.Id
JOIN DBO.Groups AS GR ON GC.GroupId=GR.Id
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906686
Vadik1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
londinium
Проверьте, пожалуйста, еще раз данные. Например, в таблице dbo.Groups группы “P107” просто нет.
Я когда создавал таблицы не все задания читал. Делал свои названия групп и тд. Можно заменить Это название каким- нибудь другим.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906750
Vadik1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
londinium
--1. Вывести все возможные пары строк преподавателей и групп
Код: sql
1.
2.
3.
SELECT GR.ID AS GROUP_ID,GR.NAME AS GROUP_NAME,TR.Id AS TEACHER_ID,TR.Surname AS TEACHER_SURNAME
FROM DBO.GROUPS AS GR
CROSS JOIN dbo.Teachers AS TR;

Почему тут ошибка?
Код: sql
1.
2.
Сообщение 208, уровень 16, состояние 1, строка 126
Недопустимое имя объекта "DBO.GROUPS".
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906753
Vadik1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
londinium
--2. Вывести названия факультетов, фонд финансирования кафедр которых превышает фонд финансирования факультета
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
WITH DEPARTMENTSFACULTYMONEY AS
(
  SELECT D.FacultyId,SUM(D.Financing)AS TOTAL_FINANCE
   FROM dbo.Departments AS D
   GROUP BY D.FacultyId
)
SELECT F.Id,F.NAME
FROM dbo.Faculties AS F
WHERE EXISTS
(
  SELECT 1 FROM DEPARTMENTSFACULTYMONEY AS C
   WHERE C.TOTAL_FINANCE>F.Financing
   AND F.Id=C.FacultyId
)



----3. Вывести фамилии кураторов групп и названия групп, которые они курируют
Код: sql
1.
2.
3.
4.
SELECT GC.CuratorId,CC.Surname,GR.Name
FROM dbo.GroupsCurators AS GC
JOIN dbo.Curators AS CC ON GC.CuratorId=CC.Id
JOIN DBO.Groups AS GR ON GC.GroupId=GR.Id

И также по этим запросам ошибки.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906756
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadik1,

Ну так напишите имя таблицы в том же регистре, как вы создавали -- DBO.GROUPS
Кто ж знает, какой у вас там collation в вашей базе.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906757
Vadik1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadik1
Почему тут ошибка?
хОТя прошу прощения, ошибок нет.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906758
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadik1
И также по этим запросам ошибки.
Вы, главное, их текст никому не говорите, в этом весь залог успеха.
...
Рейтинг: 0 / 0
Многотабличные базы данных не получается написать запрос
    #39906761
Vadik1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич
Ну так напишите имя таблицы в том же регистре, как вы создавали -- DBO.GROUPS
Кто ж знает, какой у вас там collation в вашей базе.
Я преждевременно заявил об ошибке, я просто запрос новый создал и все, а старый вообще таблиц не видел. Так что прошу прощения.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Многотабличные базы данных не получается написать запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]