'on the fly'在SQL中计算结果

时间:2011-06-21 11:59:44

标签: sql-server-2005

很抱歉这里有点模糊,但我不太清楚问题是什么 - 我有下面的代码,工作正常(它有点复杂,而且我有ctrl + c ctrl + v从我们的数据库中删除sdtraight只是给了一种味道 - 如果我需要更好地解释它的作用,请告诉我。

但是,似乎只有某些事项实际上将信息保存在数据库中,而其他事项则会即时计算。这样做的一个后果是,当我们根据此计算字段运行报告时,并非所有事项都会出现。我们的软件开发人员给出了以下两个建议,但是希望收取大量的小时费用进行调查,我宁愿避免。

  1. 查找可能过于严重 复杂,这是导致 问题和防止数据 被填充。

  2. 该字段的定义已更改,这意味着某些事项未填充。

  3. 有人能解释一下这个问题吗?

    由于

    -

    select case when LSCCert is null 
    then 
        (SELECT isnull((DateAdd(mm, 6, (select top 1 Date from OfficeClientLedger where (pttrans=3) and ptmatter=$matter$ order by date desc))), (DateAdd(mm, 3, (SELECT DateAdd FROM LAMatter WHERE  ptMatter = $Matter$)))))
    else
        (SELECT isnull((DateAdd(mm, 6, (select top 1 Date from OfficeClientLedger where (pttrans=3) and ptmatter=(select top 1 ptmatter from matterdatadef where lsccert = (select lsccert from matterdatadef where ptmatter=$matter$)) order by date desc))), (DateAdd(mm, 3, (SELECT DateAdd FROM LAMatter WHERE  ptMatter = (select top 1 ptmatter from matterdatadef where lsccert = (select lsccert from matterdatadef where ptmatter=$matter$))))))
    ) end from MatterDataDef where ptmatter=$matter$
    

0 个答案:

没有答案