pinje
Messages postés129Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention24 août 2006
-
21 oct. 2004 à 11:47
pinje
Messages postés129Date d'inscriptionvendredi 25 juillet 2003StatutMembreDernière intervention24 août 2006
-
21 oct. 2004 à 16:52
Bonjour a tous,
mon pb est le suivant: j'ai une table sous access: TBL_XYZ
avec 4 champs, l'Id du points et ces coordonnees X,Y,Z: Id_Pt, X_Coord, Y_Coord, Z_Coord que je manage depuis VB6.
Connaissant les coordonees d'un point XA, YA, je voudrais faire une requete qui me sorte les donnes du point le plus proche, donc qui aurait comme critere Min(Distance entre mon pt A et ceux ds la BD), or apparament il s'agirait d'une subquery, mais comme je ne suis pas expert en SQL, j'ai un peu de mal...
Voila ce que j'ai reussi a pondre, mai qui ne me donne pas ce que je veux:
StrSQL = "SELECT * FROM TBL_XYZ WHERE (SELECT MIN(SQR(((X_Coord - " & XA & " )^2)+((Y_Coord - " & YA & " )^2))) FROM TBL_XYZ)"
Cette requete me sors tous les points de la base, or j'en veux juste un! le plus proche de XA, YA!!!!
Est ce que ma requete est fausse? D'autre idee? ca fait deja plusieurs jours que je suis decu et j'apprecierais vraiment votre aide!
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 21 oct. 2004 à 15:15
J'ai essayé ça dans access, ça a l'air de marcher
SELECT Id_Pt, X_Coord, Y_Coord, Z_Coord
FROM TBL_XYZ AS T1
WHERE ((T1.X_Coord - XA )^2+(T1.Y_Coord - YA )^2) =
(SELECT MIN(((T2.X_Coord - XA )^2+(T2.Y_Coord - YA )^2) )as distance
FROM TBL_XYZ T2
where T2.X_Coord <> XA
and T2.Y_Coord <> YA );