Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Postgres-扩展稀疏数据_Postgresql - Fatal编程技术网

Postgresql Postgres-扩展稀疏数据

Postgresql Postgres-扩展稀疏数据,postgresql,Postgresql,我有一张这样的桌子: x | y | f ========= 0 | 1 | 3.4 1 | 2 | 3.5 表中仅存在某些x和y值。PK是x,y 我想扩展它,这样所有的x和y值都存在。对于任何已经存在的值,保留f。对于新行,设置f=0。因此,在上面,我们将添加(0,0,0.0),(1,0,0.0),(1,1,0.0)等 我认为这可以通过某种类型的连接来实现,但我不确定如何使它仅在原始表中没有记录的情况下才这样做 INSERT INTO t (x, y, f) SELECT a.x

我有一张这样的桌子:

 x | y | f
 =========
 0 | 1  | 3.4
 1 | 2  | 3.5
表中仅存在某些x和y值。PK是x,y

我想扩展它,这样所有的x和y值都存在。对于任何已经存在的值,保留f。对于新行,设置f=0。因此,在上面,我们将添加
(0,0,0.0),(1,0,0.0),(1,1,0.0)

我认为这可以通过某种类型的连接来实现,但我不确定如何使它仅在原始表中没有记录的情况下才这样做

INSERT INTO t (x, y, f)
SELECT a.x, b.y, 0.0
FROM
  generate_series(0, 1000000) a(x)
  CROSS JOIN generate_series(0, 1000000) b(y)
  LEFT JOIN t ON
    t.x = a.x AND t.y = b.y
  WHERE t.x IS NULL