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。在这种情况下,您是对的,我的错误。一切正常,谢谢。