При изменении периода планирования я получил следующую ошибку. Из-за одного параметра PlanningTime имеется более одного «ProgrammeTitle, Title». Я попытался изменить его как соединение, но не могу получить ожидаемый результат. Пожалуйста, помогитеОшибка SQL Подзапрос возвращал более 1 значения
Msg 512, уровень 16, состояние 1, строка 1 Подзапрос возвращен более чем 1 значение. Это недопустимо, когда подзапрос следует =,! =, <, < =, >,> = или когда подзапрос используется как выражение.
select pt.PlanningTime,
(SELECT (LTRIM(RTRIM(ProgrammeTitle+':'+Title)))
FROM Planning
where ChannelID = '34'
and CONVERT(char(8),PlanningDate,112) between '20130101' and '20130107'
and pt.PlanningTime = PlanningTime
and DATEPART(dw,PlanningDate)=1) AS Title1,
(SELECT (LTRIM(RTRIM(ProgrammeTitle+':'+Title)))
FROM Planning
where ChannelID = '34'
and CONVERT(char(8),PlanningDate,112) between '20130101' and '20130107'
and pt.PlanningTime = PlanningTime
and DATEPART(dw,PlanningDate)=2) AS Title2
FROM PlanningTime pt
where pt.ChannelID = '34'
and CONVERT(char(8),pt.PlanningDate,112) between '20130101' and '20130107'
Просим обратить внимание на продукт dbms. (Некоторые не ANSI SQL там ...) – jarlh
Один или оба подвыбора возвращают более 1 строки. Либо коррелируйте (включая условие с таблицей внешнего уровня), либо вместо этого присоединяйте. – jarlh
Я добавил тег SQL Server, потому что синтаксис похож на SQL Server. –