查询比较几个日期

我需要一些比较日期,我的查询在第一个查询得到3日期=> 2011-09-01,2011-10-01,2011-11-01

而在第二个查询3日期=> 2011-07-01,2011-11-01,2011-08-01

那么,如何对它们进行比较,并避免这种SQL错误?:

“子查询返回多个值,则以下时,这是不正确=,!=,<,<=,>,> =或用作表达式时。”

谢谢

SELECT c_Fk_IdBoleta as Numero_Boleta, 'Pregunta (12)' as Numero_Pregunta, 'El período transcurrido entre siembra y cosecha no corresponde al tipo de cultivo' as Detalle_Error FROM Clt_Sembrado as sembrado WHERE sembrado.c_Fk_IdBoleta = 45550711 GROUP BY sembrado.c_Fk_IdBoleta, sembrado.d_MesAnioSiembra, sembrado.d_MesAnioCosecha, sembrado.si_Fk_IdDesglose HAVING ( SELECT sembrado.d_MesAnioCosecha FROM Clt_Sembrado as sembrado, Clt_Desglose as desglose WHERE sembrado.si_Fk_IdDesglose = desglose.si_Pk_IdDesglose AND sembrado.c_Fk_IdBoleta = 45550711 ) > (SELECT DATEADD(Month,6,sembrado.d_MesAnioSiembra) FROM Clt_Desglose as desglose, Clt_Sembrado as sembrado WHERE (((sembrado.si_Fk_IdDesglose = desglose.si_Pk_IdDesglose)AND (desglose.c_Fk_CodCiiu4 = 0112.00 OR desglose.c_Fk_CodCiiu4 = 0111.01 OR desglose.c_Fk_CodCiiu4 = 0111.02 OR desglose.c_Fk_CodCiiu4 = 0113.01 OR desglose.c_Fk_CodCiiu4 = 0113.03 OR desglose.c_Fk_CodCiiu4 = 0113.05 OR desglose.c_Fk_CodCiiu4 = 0113.06 OR desglose.c_Fk_CodCiiu4 = 0113.07 OR desglose.c_Fk_CodCiiu4 = 0113.08 OR desglose.c_Fk_CodCiiu4 = 0113.10 )) AND sembrado.c_Fk_IdBoleta = 45550711))

这里是表:问题一个培育学院可以在表Blt_Sembrado被插入一次或多次,我需要验证该d_MesAnioCosecha是以下(d_MesAnioSiembra + 6个月)。 对于表中Blt_Sembrado每个插入的培育学院。

查询比较几个日期

--------------解决方案-------------

你的问题是在这里:

AND sembrado.c_fk_idboleta = 40480711) > (SELECT ...

为了使这项工作,你必须确保你的子选择将最多返回一个值。

如果你的约会必须大于所有日期返回,那么它的同大于最大的返回日期,从而利用MAX将解决您的问题:

AND sembrado.c_fk_idboleta = 40480711) > (SELECT
Dateadd(MONTH, 6, max(sembrado.d_mesaniosiembra))
...

分类:SQL 时间:2012-01-05 人气:285
本文关键词: SQL
分享到:

相关文章

  • 从SQL XML格式返回XML 2012-01-01

    这是我的查询: select EmployeeName, EmployeeSalary from Employee2 for xml path('EmployeeDetails') 回报 <EmployeeDetails> <EmployeeName>xxxxx</EmployeeName> <EmployeeSalary>5000.00000</EmployeeSalary> </EmployeeDetails> 我怎样才能输出 &

  • 一个正则表达式来提取SQL where子句 2012-01-01

    首先,我承认我不是真的正则表达式的尝试. 我知道如何使用它,但是当我想建立一个,它是别的东西......我要记录我的. 我想提取的SQL查询的WHERE子句. 我的目标是能够增加一个条件,就像这样: SELECT * FROM myTbl WHERE columnA = 'B' AND columnB = 'C' ORDER BY columnX GROUP BY columnZ LIMIT 5 至 : SELECT * FROM myTbl WHERE columnC = 'D' AND (c

  • SQL ALTER TRIGGER挂 2012-01-01

    我试图改变一个SQL Server 2000的更新触发器,但其并挂挂挂. 这可能是为什么发生,我能做些什么来解决呢? 这是一个漫长的触发,会是什么原因? 触发代码很长,但略如下: ALTER TRIGGER [dbo].[UP_AL_ItemUPCs] ON [dbo].[AL_ItemUPCs] FOR UPDATE AS SET XACT_ABORT ON Declare @vError varchar(254) Declare @iUpdateCount int Select @iUpda

  • 问题连接到SQL Express 2012-01-01

    我有我在本地运行两个Visual Studio 2010中的项目. 一个是云计算项目,并连接到蔚蓝表(发展)的存储除了本地的SQL Express,另一个是不是云项目. 这两个项目都尝试通过通过一个xsd以及直接通过数据绑定网格一个aspx产生类似的代码连接到本地SQL Express数据库. 非云项目连接罚款,但云项目失败的常见错误: "附加的文件C自动命名的数据库的尝试:\用户... MDF失败数据库具有相同名称的存在,或者指定的文件无法打开,或它位于UNC共享." 这两个项目使用

  • SQL SMO发布时装配不能被部署 2012-01-01

    我有一个关于若干有关SMO组件的部署有点问题. 我在我的项目中的以下5引用: 每一个在了库文件夹是从哪里添加引用,每个设置为复制本地=真正的一个.dll. 该项目文件显示了这一切都是为了,例如: <Reference Include="Microsoft.SqlServer.Smo, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">

  • 数量不断增加的行返回SQL Server数据库 2012-01-01

    我有了,应该返回约23万行的查询SQL Server Express数据库. 问题是查询返回每次运行查询时约5行. 什么会导致这样的事情? 我跑"DBCC CHECKDB"但是这并没有改变行为. 有任何想法吗. 谢谢

  • 从SQL 2000 SP获取我的自定义错误消息 2012-01-01

    我有以下伪代码的SP ... BEGIN TRANSACTION set @errorLocation='Deleting Permissions' DELETE [tblUsrPermissions] WHERE lngUserID = @lngUserID if @@error>0 begin goto roll_back end COMMIT TRANSACTION set @errorLocation='' --clear error messages select @errorLoca

  • SQL注释头部的例子 2012-01-01

    只是想太明白人民的存储过程/函数等注释头的样子(所以发表您的例子)......我才真正看到了在SQL Server Management Studio中创建的,但我感兴趣的是其他人的样子......格式化,使用的字符,过程的信息/细节等我猜是真正使他们不同的... 对不起,如果这个问题没有意义...感谢堆! 存储在SQL Server Management Studio中(第9版)过程注释头默认: -- =============================================

  • 关于ASP.NET MVC,LINQ to SQL的2个问题 2012-01-01

    描述与ASP.NET Web表单比较优势和ASP.NET MVC的缺点. 取决于你的选择,以实现一个新的设计或开发和比较的源代码,或只是概念解释的想法,即利用作为ORM的LINQ的任务SQL类,使得与NHibernate相比于开发数据访问层为应用程序的概念. --------------解决方案------------- MVC是一个流行的标准. 我建议使用ASP.MVC比Web表单,因为它有MVC架构的所有优点. 你可以用很多视图引擎,如剃刀和NDjango. 对于ORM,你应该使用实体框架

  • SQL服务器如何显示的数据是在8月份? 2012-01-01

    好家伙,我有我的SQL代码的一个小问题,我必须只显示数据是2008年8月的一个月数据库. 到目前为止我的代码是这样的 我应该显示每个销售人员的销售在2008年八月份 SELECT p.BusinessEntityID,p.FirstName,p.LastName,ROUND(SUM(soh.TotalDue),2)AS'总归于销售'FROM Person.Person P,Sales.SalesPerson S,Sales.SalesOrderHeader WHERE SOH = p.Busin

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.450 (s). 11 q(s)