向联接表添加变量

Markdsievers

我正在努力弄清楚如何将便利数据列添加到联接表以用于评估。抱歉,如果术语不正确,我有点SQL新手。

对于此查询结构:

SELECT t1.id 
    FROM 
        table1 t1 
    INNER JOIN 
        table2 t2 ON t1.c2 = t2.c1 
    WHERE 
        t1.c5=5;

...我想在联接表中添加一列,该列是使用t1s列中的几个函数计算的。例如,sumt1.xt1.yt1.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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章