Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
Database 是否可以逐个单元格将数据库查询到excel中?还是另一种解决方案。。?_Database_Tsql_Excel_Vba - Fatal编程技术网

Database 是否可以逐个单元格将数据库查询到excel中?还是另一种解决方案。。?

Database 是否可以逐个单元格将数据库查询到excel中?还是另一种解决方案。。?,database,tsql,excel,vba,Database,Tsql,Excel,Vba,我有各种大型视图/存储过程,基本上可以将大量数据转换成excel电子表格。有一个问题,不是所有的 公司的资金没有流入。我将其缩小为存储过程中的一段代码:(注意,为了简单起见,将其缩小) 有问题的表格: company | contract | amount | | | | TVC | NULL | 1006

我有各种大型视图/存储过程,基本上可以将大量数据转换成excel电子表格。有一个问题,不是所有的 公司的资金没有流入。我将其缩小为存储过程中的一段代码:(注意,为了简单起见,将其缩小)

有问题的表格:

                    company  | contract | amount |
                             |          |        |
                    TVC      |   NULL   |  1006  |
                    KS       |   10070  | -2345  |
                    NYC-G    |   10060  | 334000 |
                    NYC-G    |   100216 | 4000   |
                    UECR     |   NULL   |     0  |
                    SP       |   10090  | 84356  |
基本上,有些合同是无效的。所以,当契约上有一个左外部连接时,契约中的空值将退出,并且不会通过……所以我决定根据公司的情况来做这件事。 这也会导致问题,因为公司多次出现在表中以显示不同的合同。通过此更改,查询变得不明确,因为它不知道我是否需要 合同10060的金额或合同100216的金额,通常情况下,它给出的金额不正确。我想把最后一个ON条款留给company=company。 这导致的问题最少。。。。然后以某种方式直接查询每个单元格的值,这将是不一致的,因为它只影响少数单元格。虽然我已经搜索过了,但我认为这是不可能的。
这可能吗??或者是否有其他方法在数据库端解决此问题?

正如您所了解的,问题在于
on
子句中的
及其对NULL的使用

NULL更改为可匹配的值的一种方法是使用,这会将子句更改为:

ON coalesce(vd.contract,'No Contract') = coalesce(col.contract,'No Contract')

这会将所有空值变为“无合同”,这会将NULL=NULL测试(返回NULL)更改为“无合同”='No Contract',返回True

感谢您的回复,但它不起作用。我认为这与我上面在on子句中为company=company设置的示例有关。现在在列中有一堆没有合同,这很好,但是假设它是一个键,所以现在查询是不明确的,并且不知道哪个是哪个…哪个抛出了电子表格。有没有一种方法可以在excel端实现这一点?或者你有其他数据库的想法吗?
ON coalesce(vd.contract,'No Contract') = coalesce(col.contract,'No Contract')