Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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
C#-SQL WITH子句_C#_Sql_Common Table Expression - Fatal编程技术网

C#-SQL WITH子句

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

我只是在想办法-

我有一个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 /*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有效吗?