【发布时间】:2014-03-07 11:34:49
【问题描述】:
我有一个表格,其中有一列包含Leave 类型(Annual、Casual、Medical 等)。
现在我需要根据休假类型Annual Leave、Casual Leave、Medical Leave 等将其拆分为多个列。
表LeaveAccount
LeaveAccountID,
LeaveTypeID,
EmployeeID,
AccountingYearID,
TotalLeaves,
LeavesTaken
表LeaveType
LeaveTypeID,
LeaveTypeName
我的查询 [给出一个无限循环] 是:
[FullName, EmplyeeID, AnnualLeave, ShortLeave, Medical Leave]
SELECT
e.FullName
, e.EmployeeId
, a.TotalLeaves as AnnualLeave
, b.TotalLeaves as shortleave
, c.TotalLeaves as MedicalLeave
FROM
LeaveAccount a
, Employee e
, LeaveAccount b
, LeaveAccount c
WHERE
(a.EmployeeId = b.EmployeeId)
and (
(a.LeaveTypeId = 0)
and (b.LeaveTypeId = 20)
and (c.LeaveTypeId = 1)
)
我需要使用动态 SQL 吗?我怎么可以这样分裂?
【问题讨论】:
标签: sql sql-server ssis group-by