SQL Server:如何为表的所有列动态添加别名,以从其他表中提取它们 由 [妄]发布于 2020-05-24 01:47:34 用伪方法,我的目标是- 我要查询的tab1-表 tab_desc-table包含对tab1所有列的描述 从tab1中选择*作为(从tab_desc中选择col_desc,其中* = col_name) 如何将其转换为有效的SQL查询
您必须使用两个SQL查询来执行此操作。
One query to get the column alias from
tab_desc
. Save the result in a variable in your application.然后进行第二次查询以将该字符串用作别名。
I'm using
$alias
to signify where you would interpolate your application variable. The syntax depends on what language you use in your app.由于您将再次遇到SQL的重要原则,因此需要分两个步骤执行此操作:在查询期间读取的数据不能更改查询本身的语法。
另一种思考方式是,在为给定查询编写的所有名称,表达式和子句开始读取数据之前,必须将其固定。这包括作为查询一部分的子查询。
别名算作标识符(即名称)。一旦查询被解析并开始读取数据,您将无法更改别名。因此,在解析查询之前必须固定别名。
我上面描述的解决方法是将步骤分为两个查询。在格式化第二个查询的语法时,可以使用第一个查询的结果。