【发布时间】:2011-09-06 22:13:43
【问题描述】:
只是在寻找想法-
我有一个需要在 C# 中解析的 SQL 语句。它的格式基本如下-
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”有什么想法吗?
【问题讨论】:
-
我认为你的例子还不是很清楚。 “其他东西”真的可以是任何东西(例如完整的查询,然后是另一个
WITH)吗?我们/您是否必须从多个 CTE 中专门挑选出TableX定义,如果是,是什么功能挑选出来的。退后一步,尝试在不了解具体问题的情况下阅读您的问题。哪些事实不存在,或者让您不得不猜测? -
这是关于字符串替换,还是关于 CTE 的工作原理?
-
这是关于字符串替换的。而“--这里可能还有其他东西”应该很明显。
-
使用 SQL 中的“WITH”语句,WITH 定义了一个可以从中选择的临时结果集。我正在寻找的是从该结果集中选择并替换它们的那些字段。
-
搜索包含 '/*THESE FIELDS ARE BEING REPLACED*/' 的行,然后执行替换。 ;)
标签: c# sql common-table-expression