使用子选择选择FROM表并修改生成的表名

时间:2017-02-14 12:56:05

标签: sql hsqldb

我有以下两个表,但无法更改。

1:数据类型

+----------------------+-----------------------+
| datatypename(String) | datatypetable(String) |
+----------------------+-----------------------+

示例数据:

+-----------+------------+
| CycleTime |  datalong  |
+-----------+------------+
| InjTime1  | datadouble |
+-----------+------------+

2:datalong_1(此处数据模型无关紧要)

我现在想要从数据类型表中读取datatypetable属性,然后添加String" _1"它并从中选择所有内容。

我从程序化的角度想象它看起来类似于这个陈述的东西,但显然还没有起作用:

SELECT * FROM 
    (SELECT datatypetable FROM datatypes WHERE datatypename = 'CycleTime') + '_1'

如何使用HSQLDB在SQL中实现这一点?

感谢Leonidas199x我现在知道如何进入'_1',但是如何告诉FROM语句该子选择不是我想要读取的新表,而是名称我想要阅读的现有表格。

SELECT * FROM 
    (SELECT RTRIM(datatypetable)+'_1' FROM datatypes WHERE datatypename = 'CycleTime')

根据这个与我的相同的问题,这是不可能的:

using subquery instead of the tablename

:(

1 个答案:

答案 0 :(得分:1)

您能更详细地解释一下您的数据模型吗?我不确定我到底知道你要做什么。 如果要将_1添加到'datatypename',可以使用:

SELECT datatypename+'_1' 
FROM   datatypes