SELECT iItemID, SUM(bQty - bClrQty) AS bQty, iSID, cBk, iNo ; > FROM TempQuotUnClr ; > WHERE (bQty - bClrQty) # 0 ; > GROUP BY iItemID, iSID ; > ORDER BY cBk, iNo, iItemID ; > INTO CURSOR QuotUnClrList>
SELECT iItemID, SUM(bQty - bClrQty) AS bQty, iSID, cBk, iNo ; > FROM TempQuotUnClr ; > WHERE (bQty - bClrQty) # 0 ; > GROUP BY iItemID, iSID, cBk, iNo ; > ORDER BY cBk, iNo, iItemID ; > INTO CURSOR QuotUnClrList>
SELECT MAX(iSrNo) + 1 AS iNextNo ; > FROM v_LKmAccounts ; > WHERE iPID = liPID ; > GROUP BY iPID ; > INTO CURSOR TempTry this and you will see the difference:
CREATE CURSOR TempQuotUnClr (iItemID I, bQty N(10,2), bClrQty N(10,2), iSID I, cBk C(20), iNo I) INSERT INTO TempQuotUnClr VALUES (1, 10, 20, 1, [ccc], 1) INSERT INTO TempQuotUnClr VALUES (1, 20, 30, 1, [bbb], 1) INSERT INTO TempQuotUnClr VALUES (1, 40, 50, 1, [ccc], 2) SET ENGINEBEHAVIOR 70 SELECT iItemID, SUM(bQty - bClrQty) AS bQty, iSID, cBk, iNo ; FROM TempQuotUnClr ; WHERE (bQty - bClrQty) # 0 ; GROUP BY iItemID, iSID ; ORDER BY cBk, iNo, iItemID ; INTO CURSOR QuotUnClrList BROWSE NORMAL SET ENGINEBEHAVIOR 90 SELECT iItemID, SUM(bQty - bClrQty) AS bQty, iSID, cBk, iNo ; FROM TempQuotUnClr ; WHERE (bQty - bClrQty) # 0 ; GROUP BY iItemID, iSID, cBk, iNo ; ORDER BY cBk, iNo, iItemID ; INTO CURSOR QuotUnClrList BROWSE NORMALIn SPT (if you ask for data from SQL Server or any other RDB) you have seen the new behaviuor already. Because in all RDBMS you always must put ALL non agregate fields in GROUP BY.