В моей базе данных SQL Server есть 3 таблицы с именами College
, University
, OldSyllabus
.
Таблица College
имеет 1000 строк с такими столбцами, как DateOfJoining
, studentName
Таблица University
имеет 50 строк с такими столбцами, как DateOfCourseRevision
, courseName
Мне нужно написать оператор вставки для отправки записей в таблицу OldSyllabus
, сравнив столбец University
таблица DateOfCourseRevision
с College
таблица DateOfJoining
столбец
Все записи из таблицы College
для вставки в OldSyllabus
путем сравнения DateOfCourseRevision <= DateOfJoining
Запрос:
INSERT INTO [OS].[OldSyllabus] (StudenName, Address)
VALUES
((SELECT C.Name
FROM [COL].[College] AS c
INNER JOIN [UNI].[University] AS u ON c.CourseName = u.CourseName
AND c.Date <= u.Date),
(SELECT C.Address
FROM [COL].[College] AS c
INNER JOIN [UNI].[University] AS u ON c.CourseName = u.CourseName
AND c.Date <= u.Date))
Я получаю ошибку:
Подзапрос вернул более 1 значения. Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.