Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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 从现有查询中使用SqlKata_Sql Server_Vb.net_Sqlkata - Fatal编程技术网

Sql server 从现有查询中使用SqlKata

Sql server 从现有查询中使用SqlKata,sql-server,vb.net,sqlkata,Sql Server,Vb.net,Sqlkata,我有用于在服务中运行以生成报告的作业的现有查询。简单的事情,比如 "Select * from Transactions" 然后,作业将根据预设规则将参数附加到这些查询中,如日期>昨天等。SqlKata看起来可以做到这一点,但我不确定如何从现有查询实例化查询对象。这样的事情可能吗 Dim Qry as new Query("Select * from Transactions").OrderByDesc("Date") Qry.Whe

我有用于在服务中运行以生成报告的作业的现有查询。简单的事情,比如

"Select * from Transactions"
然后,作业将根据预设规则将参数附加到这些查询中,如日期>昨天等。SqlKata看起来可以做到这一点,但我不确定如何从现有查询实例化查询对象。这样的事情可能吗

Dim Qry as new Query("Select * from Transactions").OrderByDesc("Date")
Qry.Where("Date", ">", Date.Now().AddDays(-1))
return Qry.Get()

在这种情况下,您可以做的最接近的事情是包装内部查询并在其上添加条件,您可以在这里使用子查询或CTE方法。 类似这样的东西,这在C中,但想法是一样的

var existingSql = "select * from transactions";
var query = new Query().FromRaw($"({existingSql}) as inner")
                       .Where("date", ">=", DateTime.UtcNow.Date);

签出此示例

在这种情况下,您可以做的最接近的事情是包装内部查询并在其上添加条件,您可以在此处使用子查询或CTE方法。 类似这样的东西,这在C中,但想法是一样的

var existingSql = "select * from transactions";
var query = new Query().FromRaw($"({existingSql}) as inner")
                       .Where("date", ">=", DateTime.UtcNow.Date);

检查此示例

,使其按原样工作。然而,我认为我在SqlKata中发现了一个错误,它产生了一个无效的查询。这是基本查询:SELECT*FROM SERVERNAME.DBNAME.dbo.TABLENAME,这是sqlkata最终创建的:SELECT*FROM[SELECT*FROM SERVERNAME].[DBNAME].[dbo].[TABLENAME],因为[a]看到方括号在服务器名称周围的错误位置。您必须使用FromRaw,而不是FROM。在这种情况下,您是对的,我的错误。工作如期进行,谢谢。所以这一切照常进行。然而,我认为我在SqlKata中发现了一个错误,它产生了一个无效的查询。这是基本查询:SELECT*FROM SERVERNAME.DBNAME.dbo.TABLENAME,这是sqlkata最终创建的:SELECT*FROM[SELECT*FROM SERVERNAME].[DBNAME].[dbo].[TABLENAME],因为[a]看到方括号在服务器名称周围的错误位置。您必须使用FromRaw,而不是FROM。在这种情况下,您是对的,我的错误。一切正常,谢谢。