Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SQL question #2
Message
From
06/08/2009 08:11:36
Lutz Scheffler (Online)
Lutz Scheffler Software Ingenieurbüro
Dresden, Germany
 
 
To
06/08/2009 07:53:30
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Environment versions
Visual FoxPro:
VFP 9 SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01416409
Message ID:
01416429
Views:
46
>>Gregory,
>>
>>if I change to
>>
>>	create cursor Schnaps ;
>>	(	c1	c(1), ;
>>		c2	c(1),; 
>>		c3	c(1),;
>>		iOrder	I ;
>>	)
>>	
>>	insert into Schnaps values ('A', 'a', '1',1)
>>	insert into Schnaps values ('A', 'b', '2',2)
>>	insert into Schnaps values ('A', 'b', '3',3)
>>	insert into Schnaps values ('A', 'b', '3',4)
>>	insert into Schnaps values ('B', 'c', '4',5)
>>	insert into Schnaps values ('B', 'd', '4',6)
>>
>>
>>just to have an order (the import has some relevance in its order, but SQL wil not work with recordnumbers)
>>
>>What I need now is to delete any record with multiple definitions of c3 except the first one.
>>
>>Result should be:
>>
>>('A', 'a', '1',1)
>>('A', 'b', '2',2)
>>('A', 'b', '3',3)
>>('B', 'c', '4',5)
>>
>>
>>Agnes
>
>
>SELECT c1, MIN(c2) as c2, c3, MIN(iOrder) as iOrder FROM schnaps GROUP BY 1,3
>
>
>Cetin

Cetin

Sorry, no

#1 DELETE not SELECT
#2 c2 is MIN by coincidence
	create cursor Schnaps ;
	(	c1	c(1), 
		c2	c(1),; 
		c3	c(1),;
		iOrder	I ;
	)
	
	insert into Schnaps values ('A', 'a', '1',1)
	insert into Schnaps values ('A', 'b', '2',2)
	insert into Schnaps values ('A', 'b', '3',3)
	insert into Schnaps values ('A', 'b', '3',4)
	insert into Schnaps values ('B', 'c', '4',6)
	insert into Schnaps values ('B', 'd', '4',5)
	insert into Schnaps values ('C', 'a', '4',7)
Result should be:
('A', 'a', '1',1)
('A', 'b', '2',2)
('A', 'b', '3',3)
('B', 'd', '4',5)
IOW It should delete all records with a c3 that follows a occurence of c3 if the whoöe stuff is ordered by iOrder.

In xBase:
index on iorder tag _iOrder
scan for !deleted()
 lc3 = c3
 skip
 dele for c3==lc3 rest
 locate for c3==lc3
endscan
message#1416414 works well -
Words are given to man to enable him to conceal his true feelings.
Charles Maurice de Talleyrand-Périgord

Weeks of programming can save you hours of planning.

Off

There is no place like [::1]
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform