j'ai un petit probl=E8me =E0 r=E9soudre en SQL et les r=E9sultats me semble=
nt
bizarres ... mais c'est surement moi qui d=E9bloque :
Soit une table ... pardon , un fichier avec des vacances avec comme
unique inscription :
//*****************************
Nom : Vacances de Noel
D=E9but : 24.12.2010
Fin : 07.01.2011
//-----------------------------------
Je veux contr=F4ler que je ne mets pas une autre p=E9riode sur celle-ci,
et pour ce faire je recherche toutes les p=E9riodes d=E9j=E0 inscrites qui
chevaucheraient celle que j'essaie d'enregistrer :
SELECT
Vacances.Vacances_ID AS Vacances_ID,
Vacances.Vacances_Debut AS Vacances_Debut,
Vacances.Vacances_Fin AS Vacances_Fin
FROM
Vacances
WHERE
(Vacances.Vacances_Debut BETWEEN {n1} AND {n2})
OR (Vacances.Vacances_Fin BETWEEN {n1} AND {n2})
Pour n1 et n2 : 15.12.2010 et 30.12.2010 =3D=3D> OK me renvoie une
p=E9riode
Pour n1 et n2 : 30.12.2010 et 17.01.2011 =3D=3D> OK me renvoie aucune
p=E9riode !!
Pourtant le 07.01.2011 est bien compris entre 30.12.2010 et
17.01.2011.
la condition Vacances_Fin (soit 07.01.11 pour l'unique enregistrement)
et bien comprise entre les deux valeurs de la nouvelle p=E9riode ...
J'en perds le peu de SQL qui me reste :-(
Si vous avez une id=E9e sur ce truc qui d=E9bloque ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
wd_newbie
On 27 nov, 13:56, wd_newbie wrote:
Bonjour,
j'ai un petit problème à résoudre en SQL et les résultats me semb lent bizarres ... mais c'est surement moi qui débloque :
Soit une table ... pardon , un fichier avec des vacances avec comme unique inscription : //***************************** Nom : Vacances de Noel Début : 24.12.2010 Fin : 07.01.2011 //-----------------------------------
Je veux contrôler que je ne mets pas une autre période sur celle-ci, et pour ce faire je recherche toutes les périodes déjà inscrites qu i chevaucheraient celle que j'essaie d'enregistrer :
SELECT Vacances.Vacances_ID AS Vacances_ID, Vacances.Vacances_Debut AS Vacances_Debut, Vacances.Vacances_Fin AS Vacances_Fin FROM Vacances WHERE (Vacances.Vacances_Debut BETWEEN {n1} AND {n2}) OR (Vacances.Vacances_Fin BETWEEN {n1} AND {n2 })
Pour n1 et n2 : 15.12.2010 et 30.12.2010 ==> OK me renvoie une période
Pour n1 et n2 : 30.12.2010 et 17.01.2011 ==> OK me renvoie aucune période !!
Pourtant le 07.01.2011 est bien compris entre 30.12.2010 et 17.01.2011.
la condition Vacances_Fin (soit 07.01.11 pour l'unique enregistrement) et bien comprise entre les deux valeurs de la nouvelle période ...
J'en perds le peu de SQL qui me reste :-(
Si vous avez une idée sur ce truc qui débloque ?
merci d'avance de me lire et bon week-end !
Olivier
Laissez tomber ... j'avais les bonnes requêtes, mais c'est les données qui étaient mauvaises ...
Ou comment perdre une demi-journée pour des c....
:-(
Bon week-end a tous
Olivier
On 27 nov, 13:56, wd_newbie <wd_new...@romandie.com> wrote:
Bonjour,
j'ai un petit problème à résoudre en SQL et les résultats me semb lent
bizarres ... mais c'est surement moi qui débloque :
Soit une table ... pardon , un fichier avec des vacances avec comme
unique inscription :
//*****************************
Nom : Vacances de Noel
Début : 24.12.2010
Fin : 07.01.2011
//-----------------------------------
Je veux contrôler que je ne mets pas une autre période sur celle-ci,
et pour ce faire je recherche toutes les périodes déjà inscrites qu i
chevaucheraient celle que j'essaie d'enregistrer :
SELECT
Vacances.Vacances_ID AS Vacances_ID,
Vacances.Vacances_Debut AS Vacances_Debut,
Vacances.Vacances_Fin AS Vacances_Fin
FROM
Vacances
WHERE
(Vacances.Vacances_Debut BETWEEN {n1} AND {n2})
OR (Vacances.Vacances_Fin BETWEEN {n1} AND {n2 })
Pour n1 et n2 : 15.12.2010 et 30.12.2010 ==> OK me renvoie une
période
Pour n1 et n2 : 30.12.2010 et 17.01.2011 ==> OK me renvoie aucune
période !!
Pourtant le 07.01.2011 est bien compris entre 30.12.2010 et
17.01.2011.
la condition Vacances_Fin (soit 07.01.11 pour l'unique enregistrement)
et bien comprise entre les deux valeurs de la nouvelle période ...
J'en perds le peu de SQL qui me reste :-(
Si vous avez une idée sur ce truc qui débloque ?
merci d'avance de me lire et bon week-end !
Olivier
Laissez tomber ... j'avais les bonnes requêtes, mais c'est les données
qui étaient mauvaises ...
j'ai un petit problème à résoudre en SQL et les résultats me semb lent bizarres ... mais c'est surement moi qui débloque :
Soit une table ... pardon , un fichier avec des vacances avec comme unique inscription : //***************************** Nom : Vacances de Noel Début : 24.12.2010 Fin : 07.01.2011 //-----------------------------------
Je veux contrôler que je ne mets pas une autre période sur celle-ci, et pour ce faire je recherche toutes les périodes déjà inscrites qu i chevaucheraient celle que j'essaie d'enregistrer :
SELECT Vacances.Vacances_ID AS Vacances_ID, Vacances.Vacances_Debut AS Vacances_Debut, Vacances.Vacances_Fin AS Vacances_Fin FROM Vacances WHERE (Vacances.Vacances_Debut BETWEEN {n1} AND {n2}) OR (Vacances.Vacances_Fin BETWEEN {n1} AND {n2 })
Pour n1 et n2 : 15.12.2010 et 30.12.2010 ==> OK me renvoie une période
Pour n1 et n2 : 30.12.2010 et 17.01.2011 ==> OK me renvoie aucune période !!
Pourtant le 07.01.2011 est bien compris entre 30.12.2010 et 17.01.2011.
la condition Vacances_Fin (soit 07.01.11 pour l'unique enregistrement) et bien comprise entre les deux valeurs de la nouvelle période ...
J'en perds le peu de SQL qui me reste :-(
Si vous avez une idée sur ce truc qui débloque ?
merci d'avance de me lire et bon week-end !
Olivier
Laissez tomber ... j'avais les bonnes requêtes, mais c'est les données qui étaient mauvaises ...