【发布时间】:2016-03-17 09:06:49
【问题描述】:
更改 PlanningDate 期间时出现以下错误。因为一个 PlanningTime 有多个“ProgrammeTitle, Title”。我试图将其更改为加入,但无法获得预期的结果。请帮忙
消息 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...)
-
一个或两个子选择返回超过 1 行。要么关联(包括与外部级别表的条件),要么进行连接。
-
我添加了 SQL Server 标记,因为语法看起来像 SQL Server。
标签: sql sql-server tsql