插入带有子查询和序列的sql语句

时间:2015-10-08 14:20:52

标签: sql oracle subquery sql-insert database-sequence

我有一个insert into语句,这个语句将有一个子查询,它从中获取所有信息。我只有一个问题,我必须使用我创建的主键索引作为序列。我只是不知道如何插入带有子查询的序列。任何帮助将非常感激。 目前插入语句不起作用,但这是我到目前为止所做的。

INSERT INTO data_plan_demand(data_demand_id, data_plan_name,product_demand,data_plan_inf)
 VALUES( seq_data_demand_id2.nextval ,

      (SELECT d.name, COUNT(u.data_id) AS product_demands, 
      d.information AS dataplan_information
      FROM users u, data_plans d
      WHERE u.data_id = d.data_plan_id
      GROUP BY d.name,d.information));

1 个答案:

答案 0 :(得分:2)

您可以将序列放入您的选择中,轻松自如。 (编辑,哎呀,抱歉,错过了你的分组)

INSERT INTO data_plan_demand(data_demand_id, data_plan_name,product_demand,data_plan_inf)
select seq_data_demand_id2.nextval, ss.name, ss.product_demands, ss.dataplan_information
from(SELECT d.name, COUNT(u.data_id) AS product_demands, 
      d.information AS dataplan_information
      FROM users u, data_plans d
      WHERE u.data_id = d.data_plan_id
      GROUP BY d.name,d.information) ss;
相关问题