使用另一个表的字段中的列名创建表

时间:2014-04-10 12:24:22

标签: mysql sql

我有一个联合表,它给我一个ID列表和一些动词:

id  | name
------------
23  | sell
123 | steal
25  | assault
....

我需要最终得到一个新表,它将有一个自动增量列,ID列和其他列名称列中的所有动词。类似于:

id   | sell |  steal | assault
-------------------------------
23   | 
123  |
...

我知道如何创建表并拥有自动增量ID或获取表中的ID但不知道如何将联合表(或任何表)中的字段作为列。 有没有办法在一个SQL语句中执行此操作?要么是使用Java?

2 个答案:

答案 0 :(得分:0)

您可以使用两个表创建视图,然后可以在此视图上进行编辑

Exp 

Create View V_New as 
select * from table1,table2 and table1.ID= table2.ID

答案 1 :(得分:0)

感谢大家的提示。 我最终做了一点不同的事情: 在数组列表中获得带有SELECT语句的所有动词。 使用StringBuilder创建一个String,其中包含创建表所需的语句,并附加到数组列表的每个元素:

stringBuilder.append("CREATE TABLE IF NOT EXISTS tablename ( id INT NOT NULL AUTO_INCREMENT, article_id INT, ");
for (int i=0; i<verbList.size(); i++){
    stringBuilder.append("`"+verbList.get(i)+"`"+" SMALLINT, ");
}
stringBuilder.append("PRIMARY KEY (id))");
String finalString = stringBuilder.toString();

然后将其作为准备好的声明执行。