Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/05/2006, 19h48   #1
Membre du Club
 
Inscription : septembre 2002
Messages : 144
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : septembre 2002
Messages : 144
Points : 54
Points : 54
Par défaut Select le plus pret

bonjour, je voudrais faire une requete qui me retourne l'enregistrement dont la date est est inférieure ou égale, la plus proche de ma date passée en critère de sélection

Code :
1
2
3
SELECT * FROM MATABLE
WHERE LaDate <= Madate
  AND ... la plus proche
merci
gudul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 21h13   #2
Membre actif
 
Inscription : octobre 2004
Messages : 141
Détails du profil
Informations personnelles :
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : octobre 2004
Messages : 141
Points : 152
Points : 152
Bonjour
Une idée : Tu fais un calcul entre ta date date passée en critère de sélection et les dates inférieures tu as un integer et tu sélectionnes le plus petit...
Ta date critère de sélection tu la met en paramétre ou directement dans ta requete ?
Mirmillon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 21h30   #3
Membre du Club
 
Inscription : septembre 2002
Messages : 144
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : septembre 2002
Messages : 144
Points : 54
Points : 54
Je passe ma date en paramètre
gudul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 22h10   #4
Membre actif
 
Inscription : octobre 2004
Messages : 141
Détails du profil
Informations personnelles :
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : octobre 2004
Messages : 141
Points : 152
Points : 152
Voilà en gros une idée mais
* Je maitrise encore mal le passage des paramètres
* Je ne sais pas si on peut faire utiliser une fonction dans la clause WHERE (A piori aucun empechament dans le bouquin de Brouard-Soutou
Tu crèe un champ DIF_DATE de type

ALTER TABLE MaTable ADD DIF_DATE
COMPUTED BY (LaDate - :MaDate)


Et tu fais un
SELECT LaDate FROM MaTable
WHERE MIN(DIF_DATE)
Mirmillon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2006, 22h53   #5
Membre du Club
 
Inscription : septembre 2002
Messages : 144
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : septembre 2002
Messages : 144
Points : 54
Points : 54
Je ne pense pas que l'on puisse mettre un parametre dans un champs computed by
gudul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 09h20   #6
Membre régulier
 
Avatar de maamar1979
 
Inscription : mai 2006
Messages : 174
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 174
Points : 96
Points : 96
tu fait comme ca :

select FIRST 1 Champs1, Champ2, ... from MATABLE
where LaDate <= Madate
ORDER BY LaDate DESC


salut
maamar1979 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h47.


 
 
 
 
Partenaires

Hébergement Web