C#-SQL WITH子句
我只是在想办法- 我有一个SQL语句需要用C#解析。它的格式基本如下-C#-SQL WITH子句,c#,sql,common-table-expression,C#,Sql,Common Table Expression,我只是在想办法- 我有一个SQL语句需要用C#解析。它的格式基本如下- WITH TableX as ( -- something else could be here.. select field1, field2, .. fieldX from mytable -- something else could be here.. ) -- something else could be here.. select /*THE
WITH TableX as (
-- something else could be here..
select field1, field2, .. fieldX
from mytable
-- something else could be here..
)
-- something else could be here..
select /*THESE FIELDS ARE BEING REPLACED*/ TableX.field1, TableX.field2, .. TableX.fieldX
from TableX
-- something else could be here.. ie, more joins, selecting from subqueries. Basically another select could exist here.
关于如何将“TableX.field1、TableX.field2、…TableX.fieldX”替换为保证在结果集中的另一组字段,您有什么想法吗?您可以使用一个完整的sql解析器构建一个解析树,然后从中有选择地替换项
非常重要的任务。您可以使用一个完整的sql解析器来构建一个解析树,然后从中有选择地替换项
非常重要的任务。我认为你的例子还不太清楚。“其他东西”可以是任何东西吗(比如一个完整的查询,后面跟着另一个带有的
)?我们/您是否必须从多个CTE中特别挑选出TableX
定义,如果是,是什么功能挑选出来的。退一步,试着在不知道具体问题的情况下阅读你的问题。哪些事实是不存在的,或者会让你不得不猜测?这是关于字符串替换,还是关于CTE如何工作?这是关于字符串替换。“--something other be here”应该很明显,在SQL中使用“With”语句,With定义了一个临时结果集,可以从中选择。我要查找的是从该结果集中选择并替换的字段。搜索包含“/*这些字段正在被替换*/”的行,然后执行替换操作。;)我认为你的例子还不是很清楚。“其他东西”可以是任何东西吗(比如一个完整的查询,后面跟着另一个带有
的)?我们/您是否必须从多个CTE中特别挑选出TableX
定义,如果是,是什么功能挑选出来的。退一步,试着在不知道具体问题的情况下阅读你的问题。哪些事实是不存在的,或者会让你不得不猜测?这是关于字符串替换,还是关于CTE如何工作?这是关于字符串替换。“--something other be here”应该很明显,在SQL中使用“With”语句,With定义了一个临时结果集,可以从中选择。我要查找的是从该结果集中选择并替换的字段。搜索包含“/*这些字段正在被替换*/”的行,然后执行替换操作。;)您认为在TableX定义的右括号后查找第一个select有效吗?您认为在TableX定义的右括号后查找第一个select有效吗?