请帮忙如何参加餐桌

时间:2019-03-01 07:55:36

标签: codeigniter

我使用以下查询可以从table_name检索A和C的最后一条记录。

select * from 
( select *,row_number() over(partition by A order by B desc) rn
    from table_name 
) a where rn=1

Table_name包含字段A,B(日期),C(整数),我还有另一个表Table_NameB,其中包含字段A,C_P,C_N(示例值如下)

A,  C_P,     C_N
1, 1,       10
2, -10,     -20
3, 1,       100

我想加入此表并即时计算值

如果Table_Name包含

A,B, C
1, 2019-01-01,1000
2, 2019-02-02,  -15
3,  2019-02-03, 0

您能否通过加入Table_NameB帮助获得以下输出?

结果将是

A, C, C_P, C_N 
1, 1000, 1, 10, OVER <-- as 1000 > 1 > 10
2, -15, -10, -20, NORMAL <-- as -15 >-10 >-20
3, 0, 1, 100, UNDER <-- as 0 < 1 < 100

1 个答案:

答案 0 :(得分:0)

您可以这样做

SELECT tablea.a, tableb.c, tablea.C_P, tablea.C_N, 
   (CASE
        WHEN tableb.c > tablea.C_P AND tableb.c > tablea.C_N THEN "OVER"
        WHEN tablea.C_N > tablea.C_P AND tablea.C_N > tableb.c THEN "NORMAL"
        WHEN tableb.c < tablea.C_P AND tableb.c < tablea.C_N THEN "UNDER"
    END   
   ) as result
FROM tablea
INNER JOIN tableb ON (tablea.a = tableb.a)

您可以在go4smart上查看更多详细信息

希望会有所帮助。

谢谢