简体   繁体   中英

SELECT the FROM table with a sub select and modify the resulting table name

I have the follwing given two tables which can not be changed.

1: DataTypes

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

Example data:

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

2: datalong_1 (data model does not matter here)

I want to make a query now that reads the datatypetable attribute from the datatypes table, adds the String " _1 " to it and selects all content from it.

I imagined it, from a programmatic perspective, to look something similar to this statement which obviously doesn't work yet:

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

How can I make this happen in SQL using HSQLDB?

Thanks to Leonidas199x I know now how to get in the '_1' in but how do I tell the FROM statement that the subselect is not a new table I want to read from but instead the name of an existing table I want to read from.

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

According to this question which is identical to mine this is not possible:

using subquery instead of the tablename

:(

Can you explain your data model in a little more detail? I am not sure I understand exactly what it is you are looking to do. If you are wanting to add _1 to the 'datatypename', you can use:

SELECT datatypename+'_1' 
FROM   datatypes

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM