Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Select sql result
Message
From
25/05/2011 03:39:22
 
 
To
25/05/2011 02:48:51
Mk Sharma
Shrishti Solutions
Mumbai, India
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01511706
Message ID:
01511707
Views:
76
unless you have large amounts of data, I'd go quick and dirty: untested
CREATE TABLE acmast (accode n(6), acname c(50),opamt n(10,2))
>SELECT acmast
INSERT INTO acmast (accode,acname,opamt) VALUES (1, 'party name', 54200)

CREATE TABLE sales (idno n(6), billno c(6), billdt d, accode n(6), qty n(7,2), amt n(10,2))
INSERT INTO sales (idno, billno , billdt , accode , qty , amt ) ;
VALUES (1, 'aa/101', DATE(2011,4,04),1,22,509)
INSERT INTO sales (idno, billno , billdt , accode , qty , amt ) ;
VALUES (1, 'aa/102', DATE(2011,4,14),1,28,852)
INSERT INTO sales (idno, billno , billdt , accode , qty , amt ) ;
VALUES (1, 'aa/103', DATE(2011,4,24),1,18,654)
>
SELECT sales.billno,sales.billdt, sales.accode, acmast.acname, acmast.opamt, sales.qty, sales.amt, cast(0 as I) as idTemp ;
FROM sales ;
LEFT JOIN acmast ON sales.accode=acmast.accode INTO CURSOR tempcurs READWRITE 

update tempcurs set idTemp = recno()
select acname, min(idTemp) from tempCurs into filtCurs group by 1
update tempcurs set opamt = 0 where idTemp not in ;
  Select idTemp from FiltCurs 
depending on the backend first selecting opamt as 0 and then setting only 1 line might be faster even if the update statement involves one more join. experiment ;-)
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform