Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Многотабличные базы данных не получается написать запрос  [new]
Vadik1
Member

Откуда:
Сообщений: 25
Версия MS SQL 2017
Не могу выполнить правильно запрос, не выводит данные или ошибки. Сделал одно задание, но над остальными ломаю голову. Дайте подсказку или скажите как делать.
спасибо.

--Запросы
 
--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”.
21 дек 19, 13:07    [22045854]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
londinium
Member

Откуда: Киев
Сообщений: 1138
а где схемы таблиц, связи между ними?
21 дек 19, 14:55    [22045901]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
Vadik1
Сделал одно задание
Нагло врете. Вы ничего не сделали.

Уважаемый Vadik1. Или 22040551 , или санкции применю.

Сообщение было отредактировано: 21 дек 19, 17:46
21 дек 19, 17:44    [22045940]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Vadik1
Member

Откуда:
Сообщений: 25
Гавриленко Сергей Алексеевич
Нагло врете.
Почему?

Гавриленко Сергей Алексеевич
22040551 , или санкции применю.
это я выполнил, как мог и те правила - это рекомендации, а не свод жестких правил. Либо объясните нормально, что хотите, потому что не понимаю.
21 дек 19, 20:41    [22046019]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30806
Vadik1
Сделал одно задание[SRC sql]--Запросы

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

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

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

А отсутствие тестового скрипта, с наполнением данными, не позволяет легко писать запросы, приходится делать это вслепую.
21 дек 19, 21:41    [22046057]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Vadik1
Member

Откуда:
Сообщений: 25
alexeyvg
А отсутствие тестового скрипта, с наполнением данными, не позволяет легко писать запросы, приходится делать это вслепую.
Я понял, думаю это то что надо? https://yadi.sk/d/dGC5r6rj4-tUJQ
22 дек 19, 03:35    [22046162]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
alexeyvg
Member

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

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

Тут общение и взаимная помощь профессионалов, помощь тем, кто хочет сам освоить MSSQL.
Если вы сами не хотите приложить усилия, и разобраться, то зачем участникам форума это надо? Мы все свои курсовики давно сдали.
22 дек 19, 11:08    [22046216]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Vadik1
Member

Откуда:
Сообщений: 25
alexeyvg
Понимаете, тут не делают курсовики для студентов, по выложенному заданию. Для этого вам лучше найти кого то в ВУЗе, кто сделает за деньги.
Я сам хочу освоить SQL я не просто не знал, как вам надо дать скрипт, но теперь понял.

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


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

alexeyvg
Мы все свои курсовики давно сдали.
Я тоже давно как все сдал.
22 дек 19, 13:44    [22046298]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Vadik1
Member

Откуда:
Сообщений: 25
alexeyvg
Да, но лучше к вопросу делать скрипт с данными, и свой вариант. Как тут, например: https://www.sql.ru/forum/128200/inner-join-s-usloviem#1014485

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

+
--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”.



Тут БД
+
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
+
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
+
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
+
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
+
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
+
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
+
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
+
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
+
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


Сообщение было отредактировано: 22 дек 19, 14:07
22 дек 19, 13:59    [22046304]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
londinium
Member

Откуда: Киев
Сообщений: 1138
Проверьте, пожалуйста, еще раз данные. Например, в таблице dbo.Groups группы “P107” просто нет.
--1. Вывести все возможные пары строк преподавателей и групп
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. Вывести названия факультетов, фонд финансирования кафедр которых превышает фонд финансирования факультета
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. Вывести фамилии кураторов групп и названия групп, которые они курируют
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
22 дек 19, 15:28    [22046329]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Vadik1
Member

Откуда:
Сообщений: 25
londinium
Проверьте, пожалуйста, еще раз данные. Например, в таблице dbo.Groups группы “P107” просто нет.
Я когда создавал таблицы не все задания читал. Делал свои названия групп и тд. Можно заменить Это название каким- нибудь другим.
22 дек 19, 15:41    [22046334]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Vadik1
Member

Откуда:
Сообщений: 25
londinium
--1. Вывести все возможные пары строк преподавателей и групп
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;
Почему тут ошибка?
Сообщение 208, уровень 16, состояние 1, строка 126
Недопустимое имя объекта "DBO.GROUPS".
22 дек 19, 22:32    [22046458]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Vadik1
Member

Откуда:
Сообщений: 25
londinium
--2. Вывести названия факультетов, фонд финансирования кафедр которых превышает фонд финансирования факультета
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. Вывести фамилии кураторов групп и названия групп, которые они курируют
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
И также по этим запросам ошибки.
22 дек 19, 22:33    [22046461]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
Vadik1,

Ну так напишите имя таблицы в том же регистре, как вы создавали -- DBO.GROUPS
Кто ж знает, какой у вас там collation в вашей базе.
22 дек 19, 22:37    [22046465]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Vadik1
Member

Откуда:
Сообщений: 25
Vadik1
Почему тут ошибка?
хОТя прошу прощения, ошибок нет.
22 дек 19, 22:38    [22046466]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
Vadik1
И также по этим запросам ошибки.
Вы, главное, их текст никому не говорите, в этом весь залог успеха.
22 дек 19, 22:39    [22046467]     Ответить | Цитировать Сообщить модератору
 Re: Многотабличные базы данных не получается написать запрос  [new]
Vadik1
Member

Откуда:
Сообщений: 25
Гавриленко Сергей Алексеевич
Ну так напишите имя таблицы в том же регистре, как вы создавали -- DBO.GROUPS
Кто ж знает, какой у вас там collation в вашей базе.
Я преждевременно заявил об ошибке, я просто запрос новый создал и все, а старый вообще таблиц не видел. Так что прошу прощения.
22 дек 19, 22:42    [22046470]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить