Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 结合几个结果_Sql_Union_Sql Server 2014_Unpivot_With Statement - Fatal编程技术网

Sql 结合几个结果

Sql 结合几个结果,sql,union,sql-server-2014,unpivot,with-statement,Sql,Union,Sql Server 2014,Unpivot,With Statement,我有两个相似的问题 例如: with CategoryHistory AS ( SELECT category.GUID as id, ----HERE MANY FIELDS---- category.__$operation AS operation, map.tran_begin_time as beginT, map.tran_end_time as endT FROM cdc.fn_cdc_get_all_changes

我有两个相似的问题

例如:

    with CategoryHistory AS (
    SELECT
    category.GUID as id,
    ----HERE MANY FIELDS----
    category.__$operation AS operation,
    map.tran_begin_time as beginT, 
    map.tran_end_time as endT
    FROM cdc.fn_cdc_get_all_changes_dbo_EXT_BalanceHC_ZapasCategory(sys.fn_cdc_get_min_lsn('dbo_EXT_BalanceHC_ZapasCategory'), sys.fn_cdc_get_max_lsn(), 'all') AS category
    INNER JOIN  [cdc].[lsn_time_mapping] map
        ON category.[__$start_lsn] = map.start_lsn
    )
    SELECT  operation, fields, valueses, beginT, endT FROM CategoryHistory
    unpivot ( [valueses] for fields in
    (

    ----HERE MANY FIELDS----
))p

我可以将
结果结合起来吗?问题是,我希望从查询结果中取消某些字段。

也许您只是希望这样:

SELECT ch.operation, ch.beginT, ch.endT, v.field, v.val
FROM CategoryHistory ch cross apply
     (values ('field1', field1), ('field2', field2), . . .
     ) f(field, val);

我发现这比使用
unpivot

容易,是的,但可能有更简单的方法。我建议您提供样本数据和期望的结果。我正在使用CDC获取一些表格的统计数据。表可以相互关联,但这并不重要。我想创建一个视图,在这个视图中取消一些表并将它们合并到一个表中?在我的例子中,分类历史是一个别名…@Seva。在
交叉应用之前