Sql server 需要帮助才能获得这样的sql查询输出吗

Sql server 需要帮助才能获得这样的sql查询输出吗,sql-server,Sql Server,这是我的问题 select dtfromdate, dttodate, (SELECT DATEDIFF(day, dtfromdate, dtTodate)) AS NumberOfDays, fltspl from dbo.tblHR_SpecialLeaveTransaction where nvrempcode = 'MCL1218' and nvrstatus = 1 order by dtfromdate 结果: dtfromdat

这是我的问题

select 
    dtfromdate, dttodate,
    (SELECT DATEDIFF(day, dtfromdate, dtTodate)) AS NumberOfDays,
    fltspl 
from dbo.tblHR_SpecialLeaveTransaction 
where
    nvrempcode = 'MCL1218' and nvrstatus = 1 
order by 
    dtfromdate
结果:

dtfromdate              dttodate                NumberOfDays fltspl
----------------------- ----------------------- ------------ ----------------------
2012-05-01 00:00:00     2012-05-31 00:00:00     30           30
另一个问题

select 
    dtfromdate, dtTodate,
    (SELECT DATEDIFF(day, dtfromdate, dtTodate) ) AS NumberOfDays,
    fltcl, fltsl, fltpl, fltcompoff, fltod, fltlop, 
    isnull(fltflexiL, 0) as fltflexiL  
from 
    tblhr_leavetransaction 
where 
    nvrempcode = 'MCL1218' and nvrstatus = 1 
order by 
    dtfromdate
结果:

dtfromdate              dtTodate                NumberOfDays fltcl                  fltsl                  fltpl                  fltcompoff             fltod                  fltlop                 fltflexiL
----------------------- ----------------------- ------------ ---------------------- ---------------------- ---------------------- ---------------------- ---------------------- ---------------------- ----------------------
2011-01-14 00:00:00     2011-01-14 00:00:00     0            1                      0                      0                      0                      0                      0                      0
2011-01-17 00:00:00     2011-01-17 00:00:00     0            1                      0                      0                      0                      0                      0                      0
2011-01-25 00:00:00     2011-01-25 00:00:00     0            0                      0                      0                      0                      1                      0                      0
2011-04-01 00:00:00     2011-04-02 00:00:00     1            0                      0                      0                      0                      2                      0                      0
2011-05-14 00:00:00     2011-05-14 00:00:00     0            0                      0                      0                      0                      1                      0                      0
2011-05-16 00:00:00     2011-05-16 00:00:00     0            0                      0                      0                      1                      0                      0                      0
2011-05-18 00:00:00     2011-05-18 00:00:00     0            1                      0                      0                      0                      0                      0                      0
2011-05-19 00:00:00     2011-05-20 00:00:00     1            0                      2                      0                      0                      0                      0                      0
2011-05-21 00:00:00     2011-05-21 00:00:00     0            1                      0                      0                      0                      0                      0                      0
2011-05-23 00:00:00     2011-05-23 00:00:00     0            0                      0                      0                      1                      0                      0                      0
我需要这样的输出

dtfromdate              dtTodate                NumberOfDays fltcl                  fltsl                  fltpl                  fltcompoff             fltod                  fltlop                 fltflexiL                fltspl
----------------------- ----------------------- ------------ ---------------------- ---------------------- ---------------------- ---------------------- ---------------------- ---------------------- ----------------------  ----------
2011-01-14 00:00:00     2011-01-14 00:00:00     0            1                      0                      0                      0                      0                      0                      0                          0
2011-01-17 00:00:00     2011-01-17 00:00:00     0            1                      0                      0                      0                      0                      0                      0                          0
2011-01-25 00:00:00     2011-01-25 00:00:00     0            0                      0                      0                      0                      1                      0                      0                          0
2011-04-01 00:00:00     2011-04-02 00:00:00     1            0                      0                      0                      0                      2                      0                      0                          0
2011-05-14 00:00:00     2011-05-14 00:00:00     0            0                      0                      0                      0                      1                      0                      0                          0
2011-05-16 00:00:00     2011-05-16 00:00:00     0            0                      0                      0                      1                      0                      0                      0                          0
2011-05-18 00:00:00     2011-05-18 00:00:00     0            1                      0                      0                      0                      0                      0                      0                          0
2011-05-19 00:00:00     2011-05-20 00:00:00     1            0                      2                      0                      0                      0                      0                      0                          0
2011-05-21 00:00:00     2011-05-21 00:00:00     0            1                      0                      0                      0                      0                      0                      0                          0
2011-05-23 00:00:00     2011-05-23 00:00:00     0            0                      0                      0                      1                      0                      0                      0                          0
2012-05-01 00:00:00     2012-05-31 00:00:00     30           0                      0                      0                      0                      0                      0                      0                          30

看起来您只想将两个查询合并在一起。要做到这一点,两个查询都必须包含所有列,只需根据需要将这些列设置为null/zero即可。另一个小小的困难是,你不能在联合时使用
orderby
,除非你选择了全部内容

没有订购人的

select 
    dtfromdate, dttodate,
    (SELECT DATEDIFF(day, dtfromdate, dtTodate)) AS NumberOfDays,
    0 as fltcl,
    0 as fltsl,
    0 as fltpl,
    0 as fltcompoff,
    0 as fltod,
    0 as fltlop,
    0 as fltflexiL,
    fltspl 
from dbo.tblHR_SpecialLeaveTransaction 
where
    nvrempcode = 'MCL1218' and nvrstatus = 1 
union
select 
    dtfromdate, dtTodate,
    (SELECT DATEDIFF(day, dtfromdate, dtTodate) ) AS NumberOfDays,
    fltcl, fltsl, fltpl, fltcompoff, fltod, fltlop, 
    isnull(fltflexiL, 0) as fltflexiL  ,
    0 as fltspl 
from 
    tblhr_leavetransaction 
where 
    nvrempcode = 'MCL1218' and nvrstatus = 1 
如果您需要特定订单:

SELECT * FROM
(
    select 
        dtfromdate, dttodate,
        (SELECT DATEDIFF(day, dtfromdate, dtTodate)) AS NumberOfDays,
        0 as fltcl,
        0 as fltsl,
        0 as fltpl,
        0 as fltcompoff,
        0 as fltod,
        0 as fltlop,
        0 as fltflexiL,
        fltspl 
    from dbo.tblHR_SpecialLeaveTransaction 
    where
        nvrempcode = 'MCL1218' and nvrstatus = 1 
    union
    select 
        dtfromdate, dtTodate,
        (SELECT DATEDIFF(day, dtfromdate, dtTodate) ) AS NumberOfDays,
        fltcl, fltsl, fltpl, fltcompoff, fltod, fltlop, 
        isnull(fltflexiL, 0) as fltflexiL  ,
        0 as fltspl 
    from 
        tblhr_leavetransaction 
    where 
        nvrempcode = 'MCL1218' and nvrstatus = 1 
) src
order by dtfromdate

你能用语言解释一下你想在你的输出中得到什么吗??只是把成堆的数据扔给我们,让我们猜测你想要什么,并不是真的有帮助。。。e、 g.第二个和第三个数据网格之间有什么区别??它们看起来几乎一样……检查该网格的最后一行……我建议您为此尝试group by子句。k我尝试了,但无法获得准确的输出。一个小警告:派生表需要别名。