【问题标题】:I am trying to create a query to bring data from one table to another table as described below?我正在尝试创建一个查询以将数据从一个表带到另一个表,如下所述?
【发布时间】:2017-10-27 20:24:21
【问题描述】:
SELECT EL_VALUES_FIELD1
     , EL_VALUES_FIELD2
     , EL_VALUES_FIELD4
     , SUM (EL_VALUES_FIELD5) 
FROM DATA_FORM_VALUES_919906 
GROUP 
    BY EL_VALUES_FIELD1
     , EL_VALUES_FIELD2
     , EL_VALUES_FIELD4

图像 1 是源表,图像 2 是目标图像

【问题讨论】:

  • 是否要将 tableA 行插入 tableB ?或者你想在一个视图中显示两个表的行?
  • ...我认为“jquery”标签可能不是你想的那样。
  • @BaSsGaz 我想将表 A 的行插入表 B
  • 您使用的是 MySQL 还是 Oracle?

标签: mysql sql oracle


【解决方案1】:

如果您使用的是 MySQL,请使用 GROUP_CONCAT 组合来自 field3 的值。

INSERT INTO destination (keyfield1, keyfield2, keyfield3, keyfield4, amount)
SELECT field1, field2, GROUP_CONCAT(field3), field4, SUM(amount)
FROM source
GROUP BY field1, field2, field4

如果您实际使用的是 Oracle,请参阅 Is there any function in oracle similar to group_concat in mysql?

【讨论】:

    【解决方案2】:

    以下查询将完成工作:

    select field1,
           field2,
           Group_concat(field3 order by field3 desc separator ',') as keyfield_3,
           field4,
           sum(amount) as amount
    from table
    group by field1,field2,field4;
    

    以上查询仅适用于MySQL,并且只显示结果。如果您想在另一个表中插入这些值,请执行以下操作:

    Insert into tablename(keyfield1,keyfield2,keyfield3,keyfield4,amount)
    select field1,
               field2,
               Group_concat(field3 order by field3 desc separator ',') as keyfield_3,
               field4,
               sum(amount) as amount
        from table
        group by field1,field2,field4;
    

    如果你想在Oracle中完成同样的任务,你应该使用LISTAGG()而不是Group_concat()

    甲骨文:

    Insert into tablename(keyfield1,keyfield2,keyfield3,keyfield4,amount)
    select field1,
               field2,
               LISTAGG(field3,',') WITHIN GROUP (order by field3 desc),
               field4,
               sum(amount) as amount
        from table
        group by field1,field2,field4;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-07
      • 1970-01-01
      • 2021-10-14
      相关资源
      最近更新 更多