如何离开连接数组而不打印左连接10次?

时间:2015-11-11 10:05:58

标签: arrays postgresql join

我在PostgreSQL中有2个表 表1列:user_id,date,p。其中p是具有10个元素的数组。在该表中,p列中的信息是"编码"按数字。我们可以使用表2加密它:它有2列:id(这是Table1.p [i]中的数字)和值(这是实数值)

要加密Table1.p中的值,请用户left_join 10次。 例如

Select * from Table1 left join Table2
on Table1.p[1]=Table2.id 
left join  Table2
on Table1.p[2]=Table2.id
left join  Table2
on Table1.p[3]=Table2.id
....
left join  Table2
on Table1.p[10]=Table2.id;

我可以以某种方式加入完整数组,而不打印左连接1次吗?

1 个答案:

答案 0 :(得分:0)

我并不完全清楚你要做什么,但我认为你正在寻找这个:

Select * 
from Table1 
  left join Table2 on table2.id = any(Table1.p);