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中有一条记录?