Sql 查询不返回结果

Sql 查询不返回结果,sql,sql-server,sql-server-2008,where,Sql,Sql Server,Sql Server 2008,Where,我编写了以下查询,返回我最初需要的一些结果: DECLARE @lastMonthDate VARCHAR(10) DECLARE @currentMonthDate VARCHAR(10) DECLARE @Year VARCHAR(10) SET @lastMonthDate = CONVERT(VARCHAR(4), DATEPART(YEAR, DATEADD(MONTH, -1, GETDATE())))+'-'+CONVERT(VARCHAR(2), DATEPART(MONTH,

我编写了以下查询,返回我最初需要的一些结果:

DECLARE @lastMonthDate VARCHAR(10)
DECLARE @currentMonthDate VARCHAR(10)
DECLARE @Year VARCHAR(10)

SET @lastMonthDate = CONVERT(VARCHAR(4), DATEPART(YEAR, DATEADD(MONTH, -1, GETDATE())))+'-'+CONVERT(VARCHAR(2), DATEPART(MONTH, DATEADD(MONTH, -1, GETDATE())))+'-21'
SET @currentMonthDate = CONVERT(VARCHAR(4), DATEPART(YEAR, GETDATE()))+'-'+CONVERT(VARCHAR(2), DATEPART(MONTH, GETDATE()))+'-20'
SET @Year = DATEPART(YEAR, GETDATE())

SELECT 
     DISTINCT 
     Comp_Name
     , comp_idnr 
     , oppo_date17_1sent
     ,datename(month, oppo_date17_1sent)
     , budg_tempDODate1
     , CONVERT(DECIMAL(10,2), budg_do1_total) AS budg_do1_total
     , budg_paymentMethodM_R
     , Commissions.dbo.Simplicity_Paid.RestructureFeeActualDate
     , CONVERT(DECIMAL(10,2),
                Commissions.dbo.Simplicity_Paid.RestructureFees) as RestructureFees
     , Commissions.dbo.Simplicity_Paid.RestructureFeeStatus
     , Channel.Chan_Description 

 FROM 
     Company
JOIN Commissions.dbo.Simplicity_Paid 
     on company.Comp_CompanyId = Commissions.dbo.Simplicity_Paid.CompanyID 
JOIN Opportunity 
     on Company.Comp_CompanyId = Opportunity.Oppo_PrimaryCompanyId
JOIN Budget 
     on  Opportunity.Oppo_OpportunityId = Budget.budg_OpportunityId
JOIN Users 
     on company.Comp_PrimaryUserId = User_UserId
Join Channel 
     on User_PrimaryChannelId = Channel.Chan_ChannelId

WHERE 
     CONVERT(DATE, RestructureFeeActualDate) BETWEEN CONVERT(DATE, @lastMonthDate) 
                                           AND CONVERT(DATE, @currentMonthDate) 
AND 
     User_FirstName = 'Joshua' 
AND 
     User_LastName = 'Niss' 
And 
     RestructureFeeStatus = 'Paid' 
AND 
     RestructureFees >= 900 
AND 
     Oppo_Deleted IS NULL 
随着项目的进行,需求现在已经发生了变化,我需要在代码中添加更多的SQL以获得所需的结果。问题是。。。我没有得到我需要的

我试图补充以下内容:

和comp_idnr不在Commissions.dbo.AuditHistory的SELECT ClientID中

但由于某些原因,我的查询不再返回任何结果。您可能会想,这是因为ID在查询中。但我可以向你保证,事实并非如此。我手动检查了数据,只找到了一条记录

我一直在互联网上搜寻一些东西,比如为什么一份不在声明中的声明不起作用,还有其他的方法如何做等等

我的尝试包括:连接左和右、存在和不存在、在vs中不在

我记得有人曾经告诉我,你构造WHERE子句的方式会输出不同的结果。我想这是我的问题,我该如何构造where子句?或者你们觉得这也没什么错,我应该继续尝试不同的东西吗

抱歉,如果这是一篇糟糕的帖子,我真的不知道还有什么可以尝试。我能为你提供更多的信息来帮助我吗


只需快速编辑:查询会找到子查询中的1条记录。

comp_idnr或ClientId中是否有空值?它真的会在您添加Select后立即停止返回结果吗。。不在..?我也会有点害怕使用distinct。而是使用分组方式,在这里您可以看到返回或复制的内容。选择不同的有时隐藏龙…@AnthonyHorne。。我知道没有空值。。。是的,当我添加最后一个条件时,它从显示14条记录变为0条记录:如果您将ClientID添加到不同的列表中-您得到了什么?您的意思是什么,但我可以向您保证不是。我手动检查了数据,只找到了一条记录。?Commissions.dbo.AuditHistory中有一条记录?