Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Create new group
Message
From
21/01/2019 02:27:26
 
 
To
21/01/2019 01:57:48
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows XP
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01665534
Message ID:
01665573
Views:
64
>Thank you very much sir for helping.
>
>But now I need your more kind help
>
>I have added a new field called max_qty where I want to put 1 against maximum qty in every idid group.
>Like shown in attached image
>
>
>CREATE CURSOR junk(qty n(3),idid n(3),max_qty n(3))
>
>INSERT INTO junk values(5,1,0)
>INSERT INTO junk values(10,0,0)
>INSERT INTO junk values(15,0,0)
>INSERT INTO junk values(20,0,0)
>INSERT INTO junk values(25,0,0)
>INSERT INTO junk values(30,0,1)
>INSERT INTO junk values(15,0,0)
>INSERT INTO junk values(10,0,0)
>INSERT INTO junk values(5,0,0)
>INSERT INTO junk values(0,0,0)
>INSERT INTO junk values(10,0,0)
>INSERT INTO junk values(15,0,0)
>INSERT INTO junk values(20,0,0)
>INSERT INTO junk values(25,0,1)
>INSERT INTO junk values(20,0,0)
>INSERT INTO junk values(15,0,0)
>INSERT INTO junk values(10,0,0)
>INSERT INTO junk values(5,0,0)
>INSERT INTO junk values(10,0,0)
>INSERT INTO junk values(15,0,0)
>INSERT INTO junk values(20,0,0)
>INSERT INTO junk values(25,0,0)
>INSERT INTO junk values(30,0,1)
>INSERT INTO junk values(15,0,0)
>INSERT INTO junk values(10,0,0)
>INSERT INTO junk values(5,0,0)
>
>
>
>
>
>Sir I modified as
>
>* Get our first value
>GOTO top
>llGoingUp  = .t.
>lnId       = 1
>lnLastQty  = qty
>SCAN
>    IF llGoingUp
>        IF qty < lnLastQty
>            llGoingUp = !llGoingUp
>        ENDIF
>    ELSE
>        IF qty > lnLastQty
>	         REPLACE max_qty WITH 1 && I wrote this line but it displays 2 max_qty in last group
>            lnId      = lnId + 1
>            llGoingUp = !llGoingUp
>        ENDIF
>    ENDIF
>    REPLACE idid WITH lnId
>     
>    lnLastQty = qty
>ENDSCAN
>
>BROWSE LAST
>
>
>
>Please help

UPDATE Junk Set max_qty = 0
UPDATE Junk From Junk Join (SELECT MAX(qty) as qty, Idid FROM Junk Junk2 GROUP BY Idid) AS Junk_Max ON Junk.qty = Junk_Max.qty AND Junk.Idid = Junk_Max.Idid set max_qty = 1
Christian Isberner
Software Consultant
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform