如何通过两个查询的结果在一个过程中计算

时间:2011-09-01 04:56:04

标签: mysql

我有一个名为TblOrders的表。字段为FldSlNoFldStrategyIDFldTradeServerNameFldBaseDirFldBinaryStartTimeFldInstrumentID,{ {1}},FldOrderNumberFldBuySellFldDisplayQuantityFldRemainingQuantityFldTotalTradeQuantityFldLastTradePriceFldLastTradeQuantity,{{1 },FldPriceFldOrderTime。现在我有一个名为FldReferenceText的程序。

程序如下:

FldOrderStatusID

它总是返回null。 有没有解决这个问题的方法。 请帮帮我.. 提前致谢

1 个答案:

答案 0 :(得分:0)

首先,在两个查询中,您指定了GROUP BY,但期望单个结果。由于您已经将分组字段包含在where子句中,因此不需要这样做。

其次,尝试运行单个语句(没有'INTO'语句) - 我的猜测是至少其中一个返回NULL,导致输出为null。如果您希望将零到NULL作为具有空记录集的输出,请将SUM()语句包装在COALESCE中,如下所示:

SELECT COALESCE(SUM(FldLastTradeQuantity*FldPrice), 0)

这样,如果两个语句中的一个返回NULL,则另一个仍然有效。

指定条件FldLastTradePrice != 0 AND FldLastTradeQuantity != 0是不必要的,因为它们将在SUM语句中处理。