可能这个问题太基本了,我无法通过谷歌搜索找到答案。我对SQL很新。使用PostgreSQL 9.6.5和pgAdmin4。
我有一个表,其中包含一行,其中包含许多列和名为parameters
的关联值。该表没有主键。
该表由经常更改的变量组成。我希望能够从其他表中引用这些变量。
目前,从这些其他表中,我通过使用select语句来引用参数值,但这种方法非常麻烦:
CASE WHEN t1.somevalue BETWEEN
((select par1 from dbmain.parameters)
* (select par2 from dbmain.parameters))
AND
((select par1 from dbmain.parameters)
* (select par3 from dbmain.parameters))
THEN 1
END
我宁愿写这样的东西:
CASE WHEN t1.headwtr BETWEEN p.par1 * p.par2
AND p.par1 * p.par3
THEN 1
END
以某种方式加入dbmain.parameters AS p
但是由于参数表没有主键,并且其中包含的任何字段都没有其他表中的匹配值,因此我没有看到正确连接它的方法。 你会怎么做?有没有更好的方法来访问共享变量类型表?
答案 0 :(得分:0)
创建一个具有主键和其他2列的参数表:包含参数名称的列和包含参数值的列。
答案 1 :(得分:0)
你可以加入那张桌子;只需使用CROSS JOIN
。然后,您的单个元素表将连接到每一行。