我有一个名为TblOrders的表。字段为FldSlNo
,FldStrategyID
,FldTradeServerName
,FldBaseDir
,FldBinaryStartTime
,FldInstrumentID
,{ {1}},FldOrderNumber
,FldBuySell
,FldDisplayQuantity
,FldRemainingQuantity
,FldTotalTradeQuantity
,FldLastTradePrice
,FldLastTradeQuantity
,{{1 },FldPrice
和FldOrderTime
。现在我有一个名为FldReferenceText
的程序。
程序如下:
FldOrderStatusID
它总是返回null。 有没有解决这个问题的方法。 请帮帮我.. 提前致谢
答案 0 :(得分:0)
首先,在两个查询中,您指定了GROUP BY
,但期望单个结果。由于您已经将分组字段包含在where子句中,因此不需要这样做。
其次,尝试运行单个语句(没有'INTO'语句) - 我的猜测是至少其中一个返回NULL,导致输出为null。如果您希望将零到NULL作为具有空记录集的输出,请将SUM()
语句包装在COALESCE
中,如下所示:
SELECT COALESCE(SUM(FldLastTradeQuantity*FldPrice), 0)
这样,如果两个语句中的一个返回NULL,则另一个仍然有效。
指定条件FldLastTradePrice != 0 AND FldLastTradeQuantity != 0
是不必要的,因为它们将在SUM语句中处理。