我正在尝试创建一个SQL语句,通过过滤日期范围内同一行中的多个日期字段来选择记录,任何属于提供的开始或结束数据的日期字段,然后它应显示在下表中 实际上我打算在Crystal中编写SQL Command,因此StartDate和EndDate以及Country和City的值将提供给此SQL语句。所以,此刻不要为水晶报告而烦恼。它只是如何在SQL Select语句中处理它? 任何想法???
参数包括:StartDate和EndDate,Country AND / OR City
SQL:
Select * from Table where
ActualStart in StartDate and EndDate
Or
ActualEnd in StartDate and EndDate
or
ProjectedStart in StartDate and EndDate
or ProjectedEnd in StartDate and EndDate
AND
County = CountyParam AND (if Not Null(CityParam) then City = CityParam)
数据:
WORKID Country CITY Cost ActualStart ActualEnd ProjectedStart ProjectedEnd
18112 US BOSTON 0 NULL NULL 4/25/2017 NULL
18181 US BOSTON 566.76 6/1/2016 6/6/2017 6/6/2017 NULL
18183 GERMANY STUTTGART 0 NULL NULL 6/6/2017 NULL
18184 GERMANY MUNICH 0 NULL 6/6/2017 6/6/2017 NULL
18185 INDIA HYDERABAD 0 4/1/2015 NULL 7/6/2017 NULL
18186 CANADA TORONTO 0 NULL NULL 4/6/2017 NULL
18187 CANADA TORONTO 0 1/1/2016 NULL 3/6/2017 NULL
18188 CANADQ CALGARY 0 NULL NULL 6/6/2017 6/6/2018
18189 US BOSTON 0 NULL NULL 6/6/2017 NULL
18190 US CHICAGO 1429.76 NULL 6/7/2017 6/7/2017 NULL
18191 US NEWYORK 0 NULL NULL 8/7/2017 NULL
答案 0 :(得分:0)
感谢您的回答 我能够通过你的答案中的想法来解决这个问题,一个是在语法和合并函数之间使用,然后最后使用日期参数(From和To Date)向Crystal添加一个SQL命令。 对于处理Country和City的逻辑,我使用Crystal中的Select记录将其作为结束语句添加到以前的SQL。它现在工作正常。 感谢