我正在努力弄清楚如何将便利数据列添加到联接表以用于评估。抱歉,如果术语不正确,我有点SQL新手。
对于此查询结构:
SELECT t1.id
FROM
table1 t1
INNER JOIN
table2 t2 ON t1.c2 = t2.c1
WHERE
t1.c5=5;
...我想在联接表中添加一列,该列是使用t1
s列中的几个函数计算的。例如,sum
的t1.x
,t1.y
,t1.z
在变量被称为score
可再在被引用WHERE
子句。
想要这样做的原因是它会被多次引用,从而减少冗长并帮助提高可读性。
我认为它看起来像:
SELECT t1.id
FROM
table1 t1
INNER JOIN
table2 t2 ON t1.c2 = t2.c1
-- function(t1.x, t1.y, t1.z) as score
WHERE
t1.c5=5;
--AND score ...
使用PostgreSQL 9.3
如果score
是从各t1
列计算得出的,则在上使用子查询t1
:
SELECT t1.id
FROM (select t1.*, function(t1.x, t1.y, t1.z) as score
from table1 t1
) t1 INNER JOIN
table2 t2
ON t1.c2 = t2.c1
WHERE t1.c5 = 5 AND
t1.score . . .
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句