如何引用没有主键的变量表?

问题描述 投票:0回答:2

可能这个问题太基本了,我无法通过谷歌搜索找到答案。我对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

但由于参数表没有主键,并且其中包含的任何字段都没有其他表中的匹配值,因此我没有看到正确连接它的方法。你会怎么做?有没有更好的方法来访问共享变量类型表?

sql postgresql
2个回答
0
投票

你可以加入那张桌子;只需使用CROSS JOIN。然后,您的单个元素表将连接到每一行。


0
投票

创建具有主键和其他2列的参数表:包含参数名称的列和包含参数值的列。

© www.soinside.com 2019 - 2024. All rights reserved.