我需要使用列中的第i个值

时间:2014-12-01 15:52:49

标签: postgresql select

在一个循环中,我想每次从表中得到第i个值,我这样写:

FOR  i IN 1..(select count (*)  from table1 ) LOOP
INSERT INTO TABLE2
select id from table1 where column_nam in (select column_nam[i] from table1);
end loop;
end

例如,column_nam[1]=HPPC003,但它运作错误,我该怎么做?

enter image description here

1 个答案:

答案 0 :(得分:0)

@a_horse_with_no_name的评论是正确的,因为你的想法似乎不稳定。您无法获得关系数据库行的引用,而无需基于它的任何内容。

虽然我同意您应该重新审视基础知识,但我也想提出解决这个特定问题的方法;如果表中有另一个列字段,则可以将其用作" ith"反对参考。参考和数据的列,参考和HPPC003的1,2,3等,数据列的HPFC002,然后您可以选择数据WHERE参考== 1获取HPPC003。

我希望这会有所帮助,而Elmasri& Navathe是学习数据库基础的非常好的参考。