小编Jax*_*eon的帖子

SQL查询根据收费日期选择有效的成本费率

SQL新手在这里.我正在尝试生成一个成本核算查询,该查询输出员工时间卡信息并根据有效的员工成本核算率计算成本.

我的问题类似于这里提出的问题:复古活动生效日期随日期重叠变化,但我不处理复古活动或重叠日期范围.

表示例(速率表中的空值表示当前速率):

CREATE TABLE Emp_Rate
(
    Emp int,
    Rate money,
    Rate_Start datetime,
    Rate_Exp datetime
)

CREATE TABLE Emp_Time
(
    Emp int,
    Chrg_Date datetime,
    Chrg_Code varchar(10),
    Chrg_Hrs decimal(8, 2)
)

Insert into Emp_Rate (Emp,Rate,Rate_Start,Rate_Exp) Values ('1','20','5/1/09','4/30/10')
Insert into Emp_Rate (Emp,Rate,Rate_Start,Rate_Exp) Values ('1','21','5/1/10','4/30/11')
Insert into Emp_Rate (Emp,Rate,Rate_Start,Rate_Exp) Values ('1','22','5/1/11',NULL)

Insert into Emp_Time (Emp,Chrg_Date,Chrg_Code,Chrg_Hrs) Values ('1','5/10/09','B','8')
Insert into Emp_Time (Emp,Chrg_Date,Chrg_Code,Chrg_Hrs) Values ('1','5/10/10','B','8')
Insert into Emp_Time (Emp,Chrg_Date,Chrg_Code,Chrg_Hrs) Values ('1','5/10/11','B','8')
Run Code Online (Sandbox Code Playgroud)

查询(返回由多个速率条目引起的欺骗(显然)):

Select  Emp_Time.Emp,
        Cast(Emp_Time.Chrg_Date as DATE) as 'Chrg_Date',
        Emp_Time.Chrg_Code,
        Emp_Time.Chrg_Hrs, …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

8
推荐指数
1
解决办法
1051
查看次数

SSRS - 向参数查询添加静态null

我正在寻找一种方法来为一个参数添加一个值,该参数的可用值是从一个简单的查询中检索出来的.我今天刚刚开始搞乱SSRS,我希望我没有做错.

从报告项目执行以下过程(凌乱,我知道):

CREATE PROCEDURE RAW_TIME_VAR
        @EMPLID as varchar(6) = NULL
,       @EMPLNAME as varchar(80) = NULL
,       @CHARGENO as int = NULL
,       @TYPE as varchar(8) = NULL
,       @STARTDATE as date = NULL
,       @ENDDATE as date = NULL
AS
Select * from DBO.RAW_TIME
Where   ([EMPL ID] = @EMPLID OR @EMPLID IS NULL)
AND     ([EMPL NAME] = @EMPLNAME OR @EMPLNAME IS NULL)
AND     ([CHARGE NO] = @CHARGENO OR @CHARGENO IS NULL)
AND     ([CHARGE TYPE] = @TYPE OR @TYPE IS …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008 reporting-services ssrs-2008

3
推荐指数
1
解决办法
1万
查看次数