Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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 Server 2016-隐藏列不会从嵌套选择返回_Sql_Sql Server_Sql Server 2016_Temporal - Fatal编程技术网

SQL Server 2016-隐藏列不会从嵌套选择返回

SQL Server 2016-隐藏列不会从嵌套选择返回,sql,sql-server,sql-server-2016,temporal,Sql,Sql Server,Sql Server 2016,Temporal,我希望有人能在这里帮助我。我不是SQL开发人员,所以我的知识非常有限。 我试图从scala的嵌套SQL查询中返回ValidFrom列,但它没有出现。我可以从非嵌套查询返回它,但它需要嵌套。最简单的格式如下所示: select * from (select *, ValidFrom from [dbo].[Sale]) s 任何关于如何做到这一点的帮助都将不胜感激。 谢谢。子查询中列的隐藏状态将传播到外部查询。您可以修改外部查询吗?是这样,您可以尝试以下内容: SELECT *, ValidFr

我希望有人能在这里帮助我。我不是SQL开发人员,所以我的知识非常有限。 我试图从scala的嵌套SQL查询中返回ValidFrom列,但它没有出现。我可以从非嵌套查询返回它,但它需要嵌套。最简单的格式如下所示:

select * from (select *, ValidFrom from [dbo].[Sale]) s
任何关于如何做到这一点的帮助都将不胜感激。
谢谢。

子查询中列的隐藏状态将传播到外部查询。您可以修改外部查询吗?是这样,您可以尝试以下内容:

SELECT *, ValidFrom FROM (SELECT *, ValidFrom FROM [dbo].[Sale]) s
如果不是,您可以对内部查询中的ValidFrom列应用一些转换,新列将不会具有隐藏状态,如下所示:

SELECT * FROM (SELECT *, CAST(ValidFrom AS DATETIME2(0)) AS ValidFrom FROM [dbo].[Sale]) s

尝试将其强制转换为已用于该列的相同数据类型。它将在您的计划中至少引入一个额外的Compute Scalar运算符,因此请尝试并验证性能。

您能否解释一些事情,1您是否使用存储过程将tsql代码放入其中,然后通过Scala按名称调用该存储过程?2为什么需要嵌套?3是否从dbo.Sale表中的一列有效?*返回表中的所有列,*,ValidFrom将返回所有列和ValidFrom列的第二个实例。示例中的嵌套查询方面没有实现任何功能,它只返回内部查询中的所有列。您好,ValidFrom是表中的一个隐藏列,select*本身不会返回它。是的,它来自一个存储过程,在scala中,您的特定sql代码是以嵌套格式交付的。我在scala中有一个函数,用于确定每个表所需的确切选择,然后为我创建sql。然后将其放置在嵌套零件内。ie:Scala根据我的代码生成SELECT*。有趣的是,你在SQL Server 2016上吗?是的,通过管理套件访问数据库。我对sql不太熟悉第二个建议在sql管理套件中有效,现在在scala中尝试一下。非常感谢。