我有下面的联合查询,它通过15个级别;我只显示三个,所以你明白了。我想为输入设置顶部的变量,所以我不需要每次都更改15x3条件。变量我想在顶部设置一次应用到所有有: pyh_per_cc pyh_tc_batch pyh_no01(注:这是一个“IN”的标准)为联合查询设置变量
有没有办法做到这一点?我正在使用SQL Server Mgmt Studio 2008 R2以防有所作为。 在此先感谢!
select hr_pe_id, pyh_no01 pyh_no, pyh_amt01 pyh_amt
from pyh_hst_dtl
where pyh_no01 <> 0
and pyh_per_cc = '1301001'
and pyh_tc_batch = 'P1301001'
and pyh_no01 in ('2100','2101','2105','2108','2113','2115','2117','2118','2119')
union
select hr_pe_id, pyh_no02 pyh_no, pyh_amt02 pyh_amt
from pyh_hst_dtl
where pyh_no02 <> 0
and pyh_per_cc = '1301001'
and pyh_tc_batch = 'P1301001'
and pyh_no02 in ('2100','2101','2105','2108','2113','2115','2117','2118','2119')
union
select hr_pe_id, pyh_no03 pyh_no, pyh_amt03 pyh_amt
from pyh_hst_dtl
where pyh_no03 <> 0
and pyh_per_cc = '1301001'
and pyh_tc_batch = 'P1301001'
and pyh_no03 in ('2100','2101','2105','2108','2113','2115','2117','2118','2119')
order by hr_pe_id
使用临时“内存表”可能/值得吗?这是'不支点'吗? – 2014-11-20 21:40:16
不确定什么是'不可调整的'是...? – Jenn 2014-11-20 22:25:30
UNPIVOT通过将列旋转为行来执行几乎反向操作的PIVOT。那是我认为你正在尝试做的事情? [标准T-SQL-逆转置(http://www.ingenioussql.com/2013/05/09/standard-t-sql-unpivot/)。使用'过程语言'在数据库之外执行操作有时更容易 – 2014-11-20 22:37:17