Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SQL question #2
Message
De
06/08/2009 08:11:36
Lutz Scheffler
Lutz Scheffler Software Ingenieurbüro
Dresden, Allemagne
 
 
À
06/08/2009 07:53:30
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Versions des environnements
Visual FoxPro:
VFP 9 SP2
Database:
Visual FoxPro
Divers
Thread ID:
01416409
Message ID:
01416429
Vues:
45
>>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]
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform