当前位置: 首页 > 知识库问答 >
问题:

从另一个查询插入记录

鲜于华容
2023-03-14
>T1:  
>===  
>Col1, Col2, Col3, Col4, Col5,..........,Col175, Col176, Col177, Col178, Col179, Col180
>
>T2:  
>===  
>Col1, Col2, Col3, Col4, NewCol1, NewCol2

Val1 Val2 Val3 Val4 Val5 Val6 Val7 Val8 Val9 Val10 Val11 Val12

Col1 Col2 Col3 Col4 Col5 Col6

Val1 Val2 Val3 Val4 Col5 Val5
Val1 Val2 Val3 Val4 Col6 Val6
Val1 Val2 Val3 Val4 Col7 Val7
Val1 Val2 Val3 Val4 Col8 Val8
Val1 Val2 Val3 Val4 Col9 Val9
.
.
.
.
Val1 Val2 Val3 Val4 Col12 Val12

我想在单个动态查询中实现这一点。抱歉的格式和如果有什么不清楚。如果你需要什么,请告诉我。
谢谢,桑杰

共有1个答案

东门晓博
2023-03-14

可以使用联合来选择所有项及其值。

select col1
,      col2
,      col3
,      col4
,      'col5' col_name
,      col5 col_value
from   t1
union
all
select col1
,      col2
,      col3
,      col4
,      'col6' col_name
,      col6 col_value
from   t1

...诸如此类

另一种选择是流水线函数:

create type x_rec is object
( col1 varchar2(200)
, col2 varchar2(200)
, col3 varchar2(200)
, col4 varchar2(200)
, col5 varchar2(200)
, col6 varchar2(200)
);
;

create type x_tab is table of x_rec;

create or replace function x
return x_tab
pipelined
is
begin
  for r
  in
  ( select *
    from   y
  )
  loop
    pipe row (r.col1, r.col2, r.col3, r.col4, 'col5', r.col5);
    pipe row (r.col1, r.col2, r.col3, r.col4, 'col6', r.col6);
    -- etc
  end loop;
  --
  return;  
end;

select *
from   table(x)
;
 类似资料:
  • 问题内容: 我正在将数据有问题地插入表中。当我从另一个表执行此操作时,它很快,但如果有很多记录,则只会非常缓慢地放慢速度。即使那样,也只需要几秒钟。 当我从查询插入到表时,它需要花费几分钟的时间-大约每插入1000条记录需要一分钟。 源查询本身仅作为选择查询运行时,可能需要1-2秒。查询是否针对插入的每个记录运行?我希望它会在整个数据集中运行一次。还是有其他原因导致该函数与从另一个表插入“平面”数

  • 我正在使用React,使用NodeJS将数据发送到我的PostgreSQL数据库。我的songs表中有一个外键,它引用了albums表中的id。我的问题是,如何将我第一次插入的id返回到第二次插入的相册中?以下是我目前的代码: 我还没有将专辑id添加到我的歌曲插入中。我在等着看如何把唱片id的值输入到我的第二个插页中?

  • 问题内容: 我有这段代码可以从“ jobseeker”表中选择所有字段,并可以通过将userType设置为“ admin”来更新“ user”表,其中userID =$ userID(此userID是我用户中的一个用户数据库)。然后,该语句应将这些值从“ jobseeker”表插入到“ admin”表中,然后从“ jobseeker表”中删除该用户。sql表很好,我的语句正在将userType更改

  • 我正在尝试使用JPA Criteria API构建此查询 内部选择应获取3个属性来标识快照,然后外部选择将基于内部选择返回的3个属性获取快照的所有其他属性。 我成功地构建了内部选择,但是如何使用连接将外部选择与内部选择结合起来? 或者,可能有一种不同的方式来构造查询本身,即不包含子查询。。。 编辑: 类似查询:jpa标准api:使用subselect连接

  • 问题内容: 我不知道为什么我对此查询感到困惑。 我有两个表:带有记录和带有记录。两个表都需要包含相同的数据,但是存在一些不匹配的情况。 我需要编写一个mysql查询以插入从到的丢失记录。 最后,两者和应该相同。 我不想先截断所有条目,然后再从另一个表中插入。因此,请提供任何帮助。 谢谢你。 问题答案: 也可以使用它。这将避免像John Woo的回答那样避免子查询的开销(当系统可能为外部查询的 每条

  • 我在数据库中有两个带有绑定主键的表,我希望在它们之间找到一个不相交的集。例如 有列()和示例数据: 那么,我如何创建一个SQL查询,以便我可以从中获取没有在中的带有ID的行。在这种情况下,应该返回吗? PS:ID是这两个表的主键。