我的查询效果很好
SELECT tb.id, tb.nom, tb.proddate, tb.qty, tb.stockrecno,
SUM(IF((status>0 AND tb.id=sd.prodid),quantite,0)) AS rq FROM " + TableName + " AS tb
JOIN StockData AS sd ON (tb.id = sd.prodid AND sd.matcuisine = 3)
GROUP BY tb.id, tb.nom, tb.proddate, tb.qty, tb.stockrecno ORDER BY proddate DESC LIMIT 25 OFFSET @Myid"
我在我的程序ShowZero中添加了一个变量,用于显示tb.qty-rq的结果是否为零。 ShowZero = true显示即使tb.qty-rq = 0的结果,如果ShowZero = false仅显示tb.qty-rq> 0
我补充说:
cmd.Parameters.Add("@ShowZ", MySqlDbType.Int16).Value = ShowZero;
我在查询结尾添加了WHERE((@ShowZ)OR(!@ShowZ AND tb.qty - SUM(IF((status> 0 AND tb.id = sd.prodid),quantite,0) )> 0))//这里不接受别名rq我不知道为什么?
但这会产生错误。
有没有办法在此查询中执行此操作?
PS:OFFSET @Myid是一个让我控制上次读取记录的索引。
我使用.NET 3.5和XAMPP v.3.2.1 c#2008 express