在加入和条件方面需要帮助

科技班加罗尔

客户表:

customerId  customerName    startTime   projectDateOfCompletion
1            ANZ             2015-12-05       NULL
2            Barklays        2015-11-25     2016-02-10
3            Grindlays       2016-02-06       NULL

报告表:

customerId  repId   fromDateTime    toDateTim
1           1       2015-12-05      2016-02-05
1           2       2016-02-06         NULL
2           3       2015-11-25      2016-02-10
3           1       2016-02-08         NULL

客户支持表:

repId   customerSupportRep
1       Jim Daniel      
2       Mark Chad       
3       Juan Maximo

不确定如何以表格形式格式化表格。希望看起来像桌子。我正在寻找以下查询的帮助

SELECT 
    t.customerName AS 'Customer Name', 
    u.customerSupportRep AS 'Customer   Support Representative', 
    t.startTime AS 'Start Date/Time'
FROM Customer t
    JOIN CustomerSupport u 
        ON u.repId = ( SELECT repId 
                       FROM Reports 
                       WHERE  
                            customerId = t.customerId AND  
                            (CASE 
                                WHEN (@archiveStartTime IS NOT NULL )
                                    then  @archiveStartTime BETWEEN fromDateTime AND toDateTime
                                ELSE toDateTime IS NULL 
                            END)
                    )                        
    WHERE 
        t.projectDateOfCompletion IS NULL OR 
        t.projectDateOfCompletion = '';

如果@archiveStartTime是NULL,我想记录projectDateOfCompletion为NULL,如果@archiveStartTime不为空,然后我想列出所有记录中,其中@archiveStartTime间的谎言fromDateTimetoDateTimeprojectDateOfCompletion为NULL。

任何帮助将不胜感激。

萨加斯

尝试这个:

`SELECT t.customerName AS 'Customer Name', u.customerSupportRep AS 'Customer   Support Representative', t.startTime AS 'Start Date/Time'
FROM Customer t
    JOIN CustomerSupport u ON u.repId = ( SELECT repId FROM Reports WHERE  customerId = t.customerId AND  
        ((@archiveStartTime IS NOT NULL
          and @archiveStartTime BETWEEN fromDateTime AND toDateTime)
        or (@archiveStartTime IS NULL AND toDateTime IS NULL )
        ) )
    WHERE t.projectDateOfCompletion IS NULL OR t.projectDateOfCompletion = '';`

该查询很难阅读,所以也许我把条件弄错了。我的想法是:代替您在那里所做的案例,像这样使用OR(如果查询未在运行,请自行调整而不是案例)

AND  
        ((@archiveStartTime IS NOT NULL
          and @archiveStartTime BETWEEN fromDateTime AND toDateTime)
        or (@archiveStartTime IS NULL AND toDateTime IS NULL ))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

需要比赛条件方面的帮助

来自分类Dev

在MAAS方面需要帮助

来自分类Dev

在截断方面需要帮助

来自分类Dev

在使用对象和函数方面需要帮助-编程新手

来自分类Dev

需要收益方面的帮助(和承诺吗?)

来自分类Dev

在安装 blpapi 和配置 Python 解释器方面需要帮助

来自分类Dev

在 Python 中的类和对象方面需要帮助

来自分类Dev

在多线程方面需要帮助

来自分类Dev

在环回方面需要帮助

来自分类Dev

在以下汇编语言方面需要帮助

来自分类Dev

在Python递减方面需要帮助

来自分类Dev

在通用数组创建方面需要帮助

来自分类Dev

在使用R清理数据方面需要帮助

来自分类Dev

在格式化功能方面需要帮助

来自分类Dev

在理解量表方面需要帮助

来自分类Dev

在理解标记模板方面需要帮助

来自分类Dev

在多层动画位置方面需要帮助

来自分类Dev

在纠正横幅图像尺寸方面需要帮助

来自分类Dev

在共享元素片段过渡方面需要帮助

来自分类Dev

jQuery需要编码方面的帮助

来自分类Dev

CSS需要“格式设置”方面的帮助

来自分类Dev

在PHP curl调用方面需要帮助

来自分类Dev

在QEMU上的USB直通方面需要帮助

来自分类Dev

在汇总计数功能方面需要帮助

来自分类Dev

需要 XSLT 编码方面的帮助

来自分类Dev

在使用 Charindex 的 TSQL 方面需要帮助

来自分类Dev

Bootstrap - 需要布局方面的帮助

来自分类Dev

我需要 C++ 方面的帮助

来自分类Dev

在 Vigenere Cipher 计划方面需要帮助