以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]sql语句  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=151275)

--  作者:天一生水
--  发布时间:2020/6/19 12:48:00
--  [求助]sql语句
蓝老师好!

下面的代码需要加载数据表才能运行,数据多的时候,加载太费时间。
\'先计算预测日线(取平均值)
For Each dr As DataRow In Tables("日线预测").DataTable.DataRows
    If dr IsNot Nothing Then
        dr("预测日线") = (dr("预测1") _
        + dr("预测2") _
        + dr("预测3") _
        + dr("预测4") _
        + dr("预测5")/5
    End If
Next

’比对实际值,标注对错
For Each dr As  DataRow In DataTables("日线预测").DataRows
    If dr.IsNull("实际日线") Or dr.IsNull("预测日线") Then      ’不同时为空时比对
    Else
        If dr("实际日线") > =0 AndAlso dr("预测日线") > =0 Or dr("实际日线") < 0 AndAlso dr("预测日线") < 0 Then
            dr("标注") = "对"
        Else
            dr("标注") = "错"
        End If
    End If
Next

---------
麻烦蓝老师再给写2句sql语句的代码。效果见下图:
谢谢!

在不加载数据表的情况下:
1、计算每行的[预测1]  至  [预测5]的平均值,写入[预测日线];
2、比对[预测日线]、[实际日线]的值,同时 >=0 或 同时<0 为“对”,否则为”错”,并写入[标注]列。


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2020/6/19 13:44:00
--  
很基础的东西,先学一下:http://www.foxtable.com/webhelp/topics/0687.htm

update 日线预测 set 预测日线 = (预测1+预测2+..其它列.) / 5

update 日线预测 set 标注 = case when 实际日线 >0 and 预测日线>=0 ..其它条件.. then \'\' else \'\' end