Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Là, pour faire ma requette : je sèche :-(

21 réponses
Avatar
Olivier
Bonjour,

Soit une table T_sejours avec clientID, date_sejour

soit une table T_tarifs as ID, date_debut_tarifs, prix

exemple :

1, '01/01/2004', 10.43
2, '12/02/2004', 22,65
3, '26/06/2004', 27,70


Donc, je voudrais savoir tous les sejours qui ont eu lieu entre deux dates
et pour chacun, le prix correspondant.

Par ex :
Une chambre d'hotel, à une date donnée, a forcément un prix.

Là, pour faire ma requette : je sèche :-(

Merci
Olivier

10 réponses

1 2 3
Avatar
Fred BROUARD
la il suffit de parcourir mon site, car l'exemple est une gestion d'hotel avec tranches tarifaires !!!

A +


--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************

Olivier a écrit:
Bonjour,

Soit une table T_sejours avec clientID, date_sejour

soit une table T_tarifs as ID, date_debut_tarifs, prix

exemple :

1, '01/01/2004', 10.43
2, '12/02/2004', 22,65
3, '26/06/2004', 27,70


Donc, je voudrais savoir tous les sejours qui ont eu lieu entre deux dates
et pour chacun, le prix correspondant.

Par ex :
Une chambre d'hotel, à une date donnée, a forcément un prix.

Là, pour faire ma requette : je sèche :-(

Merci
Olivier




Avatar
Olivier
Justement, j'ai même ton bouquin (Excellent ! par ailleurs)
C'est pourquoi j'ai même pris l'exemple des chambres d'hotels. :-)

Mais ton exemple sur ton site :
http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_math
Ce n'est pas vraiment ce que je souhaite :-(

Pour moi, le prix d'une chambre, n'est pas rattaché à une chambre, mais
varie dans une période donnée.
Exemple de prix :
A partir du '01/01/2004' vaut 10.43
A partir du '12/02/2004' vaut 22,65
A partir du '26/06/2004' vaut 27,70


Donc pour les séjours suivants, je dois obtenir le résultat

Chambre N°1, le '10/01/2004' prix = 10.43
Chambre N°1, le '12/01/2004' prix = 10.43
Chambre N°1, le '02/02/2004' prix = 10.43
Chambre N°1, le '20/02/2004' prix = 22,65

Chambre N°2, le '10/04/2004' prix = 22,65
Chambre N°2, le '29/05/2004' prix = 22,65
Chambre N°2, le '01/07/2004' prix = 27,70

etc...

En fait mon problème est que le prix d'une chambre se situe forcément dans
une période entre de deux dates.
J'espère être clair ?

Merci




"Fred BROUARD" a écrit dans le message de
news:%
la il suffit de parcourir mon site, car l'exemple est une gestion d'hotel


avec tranches tarifaires !!!

A +


--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************

Olivier a écrit:
> Bonjour,
>
> Soit une table T_sejours avec clientID, date_sejour
>
> soit une table T_tarifs as ID, date_debut_tarifs, prix
>
> exemple :
>
> 1, '01/01/2004', 10.43
> 2, '12/02/2004', 22,65
> 3, '26/06/2004', 27,70
>
>
> Donc, je voudrais savoir tous les sejours qui ont eu lieu entre deux


dates
> et pour chacun, le prix correspondant.
>
> Par ex :
> Une chambre d'hotel, à une date donnée, a forcément un prix.
>
> Là, pour faire ma requette : je sèche :-(
>
> Merci
> Olivier
>
>



Avatar
Fred BROUARD
il faut faire une sous requête corrélée :

Rechercher le MAX de la date des prix inférieure à la date de résa.

A +

Olivier a écrit:
Justement, j'ai même ton bouquin (Excellent ! par ailleurs)
C'est pourquoi j'ai même pris l'exemple des chambres d'hotels. :-)

Mais ton exemple sur ton site :
http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_math
Ce n'est pas vraiment ce que je souhaite :-(

Pour moi, le prix d'une chambre, n'est pas rattaché à une chambre, mais
varie dans une période donnée.
Exemple de prix :
A partir du '01/01/2004' vaut 10.43
A partir du '12/02/2004' vaut 22,65
A partir du '26/06/2004' vaut 27,70


Donc pour les séjours suivants, je dois obtenir le résultat

Chambre N°1, le '10/01/2004' prix = 10.43
Chambre N°1, le '12/01/2004' prix = 10.43
Chambre N°1, le '02/02/2004' prix = 10.43
Chambre N°1, le '20/02/2004' prix = 22,65

Chambre N°2, le '10/04/2004' prix = 22,65
Chambre N°2, le '29/05/2004' prix = 22,65
Chambre N°2, le '01/07/2004' prix = 27,70

etc...

En fait mon problème est que le prix d'une chambre se situe forcément dans
une période entre de deux dates.
J'espère être clair ?

Merci




"Fred BROUARD" a écrit dans le message de
news:%

la il suffit de parcourir mon site, car l'exemple est une gestion d'hotel



avec tranches tarifaires !!!

A +


--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************

Olivier a écrit:

Bonjour,

Soit une table T_sejours avec clientID, date_sejour

soit une table T_tarifs as ID, date_debut_tarifs, prix

exemple :

1, '01/01/2004', 10.43
2, '12/02/2004', 22,65
3, '26/06/2004', 27,70


Donc, je voudrais savoir tous les sejours qui ont eu lieu entre deux





dates

et pour chacun, le prix correspondant.

Par ex :
Une chambre d'hotel, à une date donnée, a forcément un prix.

Là, pour faire ma requette : je sèche :-(

Merci
Olivier












--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Avatar
Olivier
Ouaip ~

Je vais essayer de voir avec ton exemple 4.67, page 179.
A suivre.

Merci
Olivier



"Fred BROUARD" a écrit dans le message de
news:uchb0%
il faut faire une sous requête corrélée :

Rechercher le MAX de la date des prix inférieure à la date de résa.

A +

Olivier a écrit:
> Justement, j'ai même ton bouquin (Excellent ! par ailleurs)
> C'est pourquoi j'ai même pris l'exemple des chambres d'hotels. :-)
>
> Mais ton exemple sur ton site :
> http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_math
> Ce n'est pas vraiment ce que je souhaite :-(
>
> Pour moi, le prix d'une chambre, n'est pas rattaché à une chambre, mais
> varie dans une période donnée.
> Exemple de prix :
> A partir du '01/01/2004' vaut 10.43
> A partir du '12/02/2004' vaut 22,65
> A partir du '26/06/2004' vaut 27,70
>
>
> Donc pour les séjours suivants, je dois obtenir le résultat
>
> Chambre N°1, le '10/01/2004' prix = 10.43
> Chambre N°1, le '12/01/2004' prix = 10.43
> Chambre N°1, le '02/02/2004' prix = 10.43
> Chambre N°1, le '20/02/2004' prix = 22,65
>
> Chambre N°2, le '10/04/2004' prix = 22,65
> Chambre N°2, le '29/05/2004' prix = 22,65
> Chambre N°2, le '01/07/2004' prix = 27,70
>
> etc...
>
> En fait mon problème est que le prix d'une chambre se situe forcément


dans
> une période entre de deux dates.
> J'espère être clair ?
>
> Merci
>
>
>
>
> "Fred BROUARD" a écrit dans le message de
> news:%
>
>>la il suffit de parcourir mon site, car l'exemple est une gestion


d'hotel
>
> avec tranches tarifaires !!!
>
>>A +
>>
>>
>>--
>>Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
>>Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
>>Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
>>****************** mailto: ******************
>>
>>Olivier a écrit:
>>
>>>Bonjour,
>>>
>>>Soit une table T_sejours avec clientID, date_sejour
>>>
>>>soit une table T_tarifs as ID, date_debut_tarifs, prix
>>>
>>>exemple :
>>>
>>>1, '01/01/2004', 10.43
>>>2, '12/02/2004', 22,65
>>>3, '26/06/2004', 27,70
>>>
>>>
>>>Donc, je voudrais savoir tous les sejours qui ont eu lieu entre deux
>
> dates
>
>>>et pour chacun, le prix correspondant.
>>>
>>>Par ex :
>>>Une chambre d'hotel, à une date donnée, a forcément un prix.
>>>
>>>Là, pour faire ma requette : je sèche :-(
>>>
>>>Merci
>>>Olivier
>>>
>>>
>>
>
>

--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************



Avatar
Olivier
Bon, résultat après 3 heures...

J'y arrive pas :-(

Donc, je vais me faire une fonction en VB qui me le fera directment dans mon
programme

Merci
Olivier



"Fred BROUARD" a écrit dans le message de
news:uchb0%
il faut faire une sous requête corrélée :

Rechercher le MAX de la date des prix inférieure à la date de résa.

A +

Olivier a écrit:
> Justement, j'ai même ton bouquin (Excellent ! par ailleurs)
> C'est pourquoi j'ai même pris l'exemple des chambres d'hotels. :-)
>
> Mais ton exemple sur ton site :
> http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_math
> Ce n'est pas vraiment ce que je souhaite :-(
>
> Pour moi, le prix d'une chambre, n'est pas rattaché à une chambre, mais
> varie dans une période donnée.
> Exemple de prix :
> A partir du '01/01/2004' vaut 10.43
> A partir du '12/02/2004' vaut 22,65
> A partir du '26/06/2004' vaut 27,70
>
>
> Donc pour les séjours suivants, je dois obtenir le résultat
>
> Chambre N°1, le '10/01/2004' prix = 10.43
> Chambre N°1, le '12/01/2004' prix = 10.43
> Chambre N°1, le '02/02/2004' prix = 10.43
> Chambre N°1, le '20/02/2004' prix = 22,65
>
> Chambre N°2, le '10/04/2004' prix = 22,65
> Chambre N°2, le '29/05/2004' prix = 22,65
> Chambre N°2, le '01/07/2004' prix = 27,70
>
> etc...
>
> En fait mon problème est que le prix d'une chambre se situe forcément


dans
> une période entre de deux dates.
> J'espère être clair ?
>
> Merci
>
>
>
>
> "Fred BROUARD" a écrit dans le message de
> news:%
>
>>la il suffit de parcourir mon site, car l'exemple est une gestion


d'hotel
>
> avec tranches tarifaires !!!
>
>>A +
>>
>>
>>--
>>Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
>>Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
>>Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
>>****************** mailto: ******************
>>
>>Olivier a écrit:
>>
>>>Bonjour,
>>>
>>>Soit une table T_sejours avec clientID, date_sejour
>>>
>>>soit une table T_tarifs as ID, date_debut_tarifs, prix
>>>
>>>exemple :
>>>
>>>1, '01/01/2004', 10.43
>>>2, '12/02/2004', 22,65
>>>3, '26/06/2004', 27,70
>>>
>>>
>>>Donc, je voudrais savoir tous les sejours qui ont eu lieu entre deux
>
> dates
>
>>>et pour chacun, le prix correspondant.
>>>
>>>Par ex :
>>>Une chambre d'hotel, à une date donnée, a forcément un prix.
>>>
>>>Là, pour faire ma requette : je sèche :-(
>>>
>>>Merci
>>>Olivier
>>>
>>>
>>
>
>

--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************



Avatar
Laurent Moreau
Tu peux écrire une fdu qui fait:

SELECT TOP 1 prix FROM T_tarifs WHERE date_debut_tarifs<=@LaDateDuSejour
ORDER BY date_debut_tarifs DESC

Laurent.




"Olivier" wrote in message
news:
Bon, résultat après 3 heures...

J'y arrive pas :-(

Donc, je vais me faire une fonction en VB qui me le fera directment dans


mon
programme

Merci
Olivier



"Fred BROUARD" a écrit dans le message de
news:uchb0%
> il faut faire une sous requête corrélée :
>
> Rechercher le MAX de la date des prix inférieure à la date de résa.
>
> A +
>
> Olivier a écrit:
> > Justement, j'ai même ton bouquin (Excellent ! par ailleurs)
> > C'est pourquoi j'ai même pris l'exemple des chambres d'hotels. :-)
> >
> > Mais ton exemple sur ton site :
> > http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_math
> > Ce n'est pas vraiment ce que je souhaite :-(
> >
> > Pour moi, le prix d'une chambre, n'est pas rattaché à une chambre,


mais
> > varie dans une période donnée.
> > Exemple de prix :
> > A partir du '01/01/2004' vaut 10.43
> > A partir du '12/02/2004' vaut 22,65
> > A partir du '26/06/2004' vaut 27,70
> >
> >
> > Donc pour les séjours suivants, je dois obtenir le résultat
> >
> > Chambre N°1, le '10/01/2004' prix = 10.43
> > Chambre N°1, le '12/01/2004' prix = 10.43
> > Chambre N°1, le '02/02/2004' prix = 10.43
> > Chambre N°1, le '20/02/2004' prix = 22,65
> >
> > Chambre N°2, le '10/04/2004' prix = 22,65
> > Chambre N°2, le '29/05/2004' prix = 22,65
> > Chambre N°2, le '01/07/2004' prix = 27,70
> >
> > etc...
> >
> > En fait mon problème est que le prix d'une chambre se situe forcément
dans
> > une période entre de deux dates.
> > J'espère être clair ?
> >
> > Merci
> >
> >
> >
> >
> > "Fred BROUARD" a écrit dans le message de
> > news:%
> >
> >>la il suffit de parcourir mon site, car l'exemple est une gestion
d'hotel
> >
> > avec tranches tarifaires !!!
> >
> >>A +
> >>
> >>
> >>--
> >>Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
> >>Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> >>Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> >>****************** mailto: ******************
> >>
> >>Olivier a écrit:
> >>
> >>>Bonjour,
> >>>
> >>>Soit une table T_sejours avec clientID, date_sejour
> >>>
> >>>soit une table T_tarifs as ID, date_debut_tarifs, prix
> >>>
> >>>exemple :
> >>>
> >>>1, '01/01/2004', 10.43
> >>>2, '12/02/2004', 22,65
> >>>3, '26/06/2004', 27,70
> >>>
> >>>
> >>>Donc, je voudrais savoir tous les sejours qui ont eu lieu entre deux
> >
> > dates
> >
> >>>et pour chacun, le prix correspondant.
> >>>
> >>>Par ex :
> >>>Une chambre d'hotel, à une date donnée, a forcément un prix.
> >>>
> >>>Là, pour faire ma requette : je sèche :-(
> >>>
> >>>Merci
> >>>Olivier
> >>>
> >>>
> >>
> >
> >
>
> --
> Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
> Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> ****************** mailto: ******************
>




Avatar
Olivier
YES !!!

Avec :

SELECT D.date_sejour,
(SELECT MAX(T.prix)
FROM tarifs_chambre T
WHERE (T.date_debut <= D.date_sejour)) AS Prix
FROM sejours D

Merci beaucoup
Olivier



"Laurent Moreau" a écrit dans le message
de news:c6r21t$ed5$
Tu peux écrire une fdu qui fait:

SELECT TOP 1 prix FROM T_tarifs WHERE date_debut_tarifs<=@LaDateDuSejour
ORDER BY date_debut_tarifs DESC

Laurent.




"Olivier" wrote in message
news:
> Bon, résultat après 3 heures...
>
> J'y arrive pas :-(
>
> Donc, je vais me faire une fonction en VB qui me le fera directment dans
mon
> programme
>
> Merci
> Olivier
>
>
>
> "Fred BROUARD" a écrit dans le message de
> news:uchb0%
> > il faut faire une sous requête corrélée :
> >
> > Rechercher le MAX de la date des prix inférieure à la date de résa.
> >
> > A +
> >
> > Olivier a écrit:
> > > Justement, j'ai même ton bouquin (Excellent ! par ailleurs)
> > > C'est pourquoi j'ai même pris l'exemple des chambres d'hotels. :-)
> > >
> > > Mais ton exemple sur ton site :
> > > http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_math
> > > Ce n'est pas vraiment ce que je souhaite :-(
> > >
> > > Pour moi, le prix d'une chambre, n'est pas rattaché à une chambre,
mais
> > > varie dans une période donnée.
> > > Exemple de prix :
> > > A partir du '01/01/2004' vaut 10.43
> > > A partir du '12/02/2004' vaut 22,65
> > > A partir du '26/06/2004' vaut 27,70
> > >
> > >
> > > Donc pour les séjours suivants, je dois obtenir le résultat
> > >
> > > Chambre N°1, le '10/01/2004' prix = 10.43
> > > Chambre N°1, le '12/01/2004' prix = 10.43
> > > Chambre N°1, le '02/02/2004' prix = 10.43
> > > Chambre N°1, le '20/02/2004' prix = 22,65
> > >
> > > Chambre N°2, le '10/04/2004' prix = 22,65
> > > Chambre N°2, le '29/05/2004' prix = 22,65
> > > Chambre N°2, le '01/07/2004' prix = 27,70
> > >
> > > etc...
> > >
> > > En fait mon problème est que le prix d'une chambre se situe


forcément
> dans
> > > une période entre de deux dates.
> > > J'espère être clair ?
> > >
> > > Merci
> > >
> > >
> > >
> > >
> > > "Fred BROUARD" a écrit dans le message


de
> > > news:%
> > >
> > >>la il suffit de parcourir mon site, car l'exemple est une gestion
> d'hotel
> > >
> > > avec tranches tarifaires !!!
> > >
> > >>A +
> > >>
> > >>
> > >>--
> > >>Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi /


web
> > >>Livre SQL - col. Référence :


http://sqlpro.developpez.com/bookSQL.html
> > >>Le site du SQL, pour débutants et pros :


http://sqlpro.developpez.com
> > >>****************** mailto:


******************
> > >>
> > >>Olivier a écrit:
> > >>
> > >>>Bonjour,
> > >>>
> > >>>Soit une table T_sejours avec clientID, date_sejour
> > >>>
> > >>>soit une table T_tarifs as ID, date_debut_tarifs, prix
> > >>>
> > >>>exemple :
> > >>>
> > >>>1, '01/01/2004', 10.43
> > >>>2, '12/02/2004', 22,65
> > >>>3, '26/06/2004', 27,70
> > >>>
> > >>>
> > >>>Donc, je voudrais savoir tous les sejours qui ont eu lieu entre


deux
> > >
> > > dates
> > >
> > >>>et pour chacun, le prix correspondant.
> > >>>
> > >>>Par ex :
> > >>>Une chambre d'hotel, à une date donnée, a forcément un prix.
> > >>>
> > >>>Là, pour faire ma requette : je sèche :-(
> > >>>
> > >>>Merci
> > >>>Olivier
> > >>>
> > >>>
> > >>
> > >
> > >
> >
> > --
> > Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
> > Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> > Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> > ****************** mailto: ******************
> >
>
>




Avatar
Laurent Moreau
Ben non ça m'a pas l'air bon ça...

La tu vas avoir le prix maximum, alors que toi tu veux le dernier prix avant
la date que tu donnes.



Laurent.



"Olivier" wrote in message
news:
YES !!!

Avec :

SELECT D.date_sejour,
(SELECT MAX(T.prix)
FROM tarifs_chambre T
WHERE (T.date_debut <= D.date_sejour)) AS Prix
FROM sejours D

Merci beaucoup
Olivier



"Laurent Moreau" a écrit dans le


message
de news:c6r21t$ed5$
> Tu peux écrire une fdu qui fait:
>
> SELECT TOP 1 prix FROM T_tarifs WHERE date_debut_tarifs<=@LaDateDuSejour
> ORDER BY date_debut_tarifs DESC
>
> Laurent.
>
>
>
>
> "Olivier" wrote in message
> news:
> > Bon, résultat après 3 heures...
> >
> > J'y arrive pas :-(
> >
> > Donc, je vais me faire une fonction en VB qui me le fera directment


dans
> mon
> > programme
> >
> > Merci
> > Olivier
> >
> >
> >
> > "Fred BROUARD" a écrit dans le message de
> > news:uchb0%
> > > il faut faire une sous requête corrélée :
> > >
> > > Rechercher le MAX de la date des prix inférieure à la date de résa.
> > >
> > > A +
> > >
> > > Olivier a écrit:
> > > > Justement, j'ai même ton bouquin (Excellent ! par ailleurs)
> > > > C'est pourquoi j'ai même pris l'exemple des chambres d'hotels. :-)
> > > >
> > > > Mais ton exemple sur ton site :
> > > > http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_math
> > > > Ce n'est pas vraiment ce que je souhaite :-(
> > > >
> > > > Pour moi, le prix d'une chambre, n'est pas rattaché à une chambre,
> mais
> > > > varie dans une période donnée.
> > > > Exemple de prix :
> > > > A partir du '01/01/2004' vaut 10.43
> > > > A partir du '12/02/2004' vaut 22,65
> > > > A partir du '26/06/2004' vaut 27,70
> > > >
> > > >
> > > > Donc pour les séjours suivants, je dois obtenir le résultat
> > > >
> > > > Chambre N°1, le '10/01/2004' prix = 10.43
> > > > Chambre N°1, le '12/01/2004' prix = 10.43
> > > > Chambre N°1, le '02/02/2004' prix = 10.43
> > > > Chambre N°1, le '20/02/2004' prix = 22,65
> > > >
> > > > Chambre N°2, le '10/04/2004' prix = 22,65
> > > > Chambre N°2, le '29/05/2004' prix = 22,65
> > > > Chambre N°2, le '01/07/2004' prix = 27,70
> > > >
> > > > etc...
> > > >
> > > > En fait mon problème est que le prix d'une chambre se situe
forcément
> > dans
> > > > une période entre de deux dates.
> > > > J'espère être clair ?
> > > >
> > > > Merci
> > > >
> > > >
> > > >
> > > >
> > > > "Fred BROUARD" a écrit dans le message
de
> > > > news:%
> > > >
> > > >>la il suffit de parcourir mon site, car l'exemple est une gestion
> > d'hotel
> > > >
> > > > avec tranches tarifaires !!!
> > > >
> > > >>A +
> > > >>
> > > >>
> > > >>--
> > > >>Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi /
web
> > > >>Livre SQL - col. Référence :
http://sqlpro.developpez.com/bookSQL.html
> > > >>Le site du SQL, pour débutants et pros :
http://sqlpro.developpez.com
> > > >>****************** mailto:
******************
> > > >>
> > > >>Olivier a écrit:
> > > >>
> > > >>>Bonjour,
> > > >>>
> > > >>>Soit une table T_sejours avec clientID, date_sejour
> > > >>>
> > > >>>soit une table T_tarifs as ID, date_debut_tarifs, prix
> > > >>>
> > > >>>exemple :
> > > >>>
> > > >>>1, '01/01/2004', 10.43
> > > >>>2, '12/02/2004', 22,65
> > > >>>3, '26/06/2004', 27,70
> > > >>>
> > > >>>
> > > >>>Donc, je voudrais savoir tous les sejours qui ont eu lieu entre
deux
> > > >
> > > > dates
> > > >
> > > >>>et pour chacun, le prix correspondant.
> > > >>>
> > > >>>Par ex :
> > > >>>Une chambre d'hotel, à une date donnée, a forcément un prix.
> > > >>>
> > > >>>Là, pour faire ma requette : je sèche :-(
> > > >>>
> > > >>>Merci
> > > >>>Olivier
> > > >>>
> > > >>>
> > > >>
> > > >
> > > >
> > >
> > > --
> > > Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi /


web
> > > Livre SQL - col. Référence :


http://sqlpro.developpez.com/bookSQL.html
> > > Le site du SQL, pour débutants et pros :


http://sqlpro.developpez.com
> > > ****************** mailto:


******************
> > >
> >
> >
>
>




Avatar
Fred BROUARD
1) à quelque chouia sa requête est bonne.

2) c'est une solution de facilité à cause du TOP

3) je te donne la solution, à condition que tu me donne les ordres SQL de création des tables et les ordres INSERT de
ton jeu d'essais !

A +

Laurent Moreau a écrit:
Ben non ça m'a pas l'air bon ça...

La tu vas avoir le prix maximum, alors que toi tu veux le dernier prix avant
la date que tu donnes.



Laurent.



"Olivier" wrote in message
news:

YES !!!

Avec :

SELECT D.date_sejour,
(SELECT MAX(T.prix)
FROM tarifs_chambre T
WHERE (T.date_debut <= D.date_sejour)) AS Prix
FROM sejours D

Merci beaucoup
Olivier



"Laurent Moreau" a écrit dans le



message

de news:c6r21t$ed5$

Tu peux écrire une fdu qui fait:

SELECT TOP 1 prix FROM T_tarifs WHERE date_debut_tarifs<=@LaDateDuSejour
ORDER BY date_debut_tarifs DESC

Laurent.




"Olivier" wrote in message
news:

Bon, résultat après 3 heures...

J'y arrive pas :-(

Donc, je vais me faire une fonction en VB qui me le fera directment







dans

mon

programme

Merci
Olivier



"Fred BROUARD" a écrit dans le message de
news:uchb0%

il faut faire une sous requête corrélée :

Rechercher le MAX de la date des prix inférieure à la date de résa.

A +

Olivier a écrit:

Justement, j'ai même ton bouquin (Excellent ! par ailleurs)
C'est pourquoi j'ai même pris l'exemple des chambres d'hotels. :-)

Mais ton exemple sur ton site :
http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_math
Ce n'est pas vraiment ce que je souhaite :-(

Pour moi, le prix d'une chambre, n'est pas rattaché à une chambre,







mais

varie dans une période donnée.
Exemple de prix :
A partir du '01/01/2004' vaut 10.43
A partir du '12/02/2004' vaut 22,65
A partir du '26/06/2004' vaut 27,70


Donc pour les séjours suivants, je dois obtenir le résultat

Chambre N°1, le '10/01/2004' prix = 10.43
Chambre N°1, le '12/01/2004' prix = 10.43
Chambre N°1, le '02/02/2004' prix = 10.43
Chambre N°1, le '20/02/2004' prix = 22,65

Chambre N°2, le '10/04/2004' prix = 22,65
Chambre N°2, le '29/05/2004' prix = 22,65
Chambre N°2, le '01/07/2004' prix = 27,70

etc...

En fait mon problème est que le prix d'une chambre se situe









forcément

dans

une période entre de deux dates.
J'espère être clair ?

Merci




"Fred BROUARD" a écrit dans le message









de

news:%


la il suffit de parcourir mon site, car l'exemple est une gestion







d'hotel

avec tranches tarifaires !!!


A +


--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi /











web

Livre SQL - col. Référence :











http://sqlpro.developpez.com/bookSQL.html

Le site du SQL, pour débutants et pros :











http://sqlpro.developpez.com

****************** mailto:











******************

Olivier a écrit:


Bonjour,

Soit une table T_sejours avec clientID, date_sejour

soit une table T_tarifs as ID, date_debut_tarifs, prix

exemple :

1, '01/01/2004', 10.43
2, '12/02/2004', 22,65
3, '26/06/2004', 27,70


Donc, je voudrais savoir tous les sejours qui ont eu lieu entre













deux

dates


et pour chacun, le prix correspondant.

Par ex :
Une chambre d'hotel, à une date donnée, a forcément un prix.

Là, pour faire ma requette : je sèche :-(

Merci
Olivier










--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi /









web

Livre SQL - col. Référence :









http://sqlpro.developpez.com/bookSQL.html

Le site du SQL, pour débutants et pros :









http://sqlpro.developpez.com

****************** mailto:









******************















--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Avatar
Olivier
Heu...
je vais vérifier ...

là, je dois partir du boulot, ben, oui ici, les heures sups :-((((




"Laurent Moreau" a écrit dans le message
de news:c6r58v$g82$
Ben non ça m'a pas l'air bon ça...

La tu vas avoir le prix maximum, alors que toi tu veux le dernier prix


avant
la date que tu donnes.



Laurent.



"Olivier" wrote in message
news:
> YES !!!
>
> Avec :
>
> SELECT D.date_sejour,
> (SELECT MAX(T.prix)
> FROM tarifs_chambre T
> WHERE (T.date_debut <= D.date_sejour)) AS Prix
> FROM sejours D
>
> Merci beaucoup
> Olivier
>
>
>
> "Laurent Moreau" a écrit dans le
message
> de news:c6r21t$ed5$
> > Tu peux écrire une fdu qui fait:
> >
> > SELECT TOP 1 prix FROM T_tarifs WHERE


date_debut_tarifs<=@LaDateDuSejour
> > ORDER BY date_debut_tarifs DESC
> >
> > Laurent.
> >
> >
> >
> >
> > "Olivier" wrote in message
> > news:
> > > Bon, résultat après 3 heures...
> > >
> > > J'y arrive pas :-(
> > >
> > > Donc, je vais me faire une fonction en VB qui me le fera directment
dans
> > mon
> > > programme
> > >
> > > Merci
> > > Olivier
> > >
> > >
> > >
> > > "Fred BROUARD" a écrit dans le message


de
> > > news:uchb0%
> > > > il faut faire une sous requête corrélée :
> > > >
> > > > Rechercher le MAX de la date des prix inférieure à la date de


résa.
> > > >
> > > > A +
> > > >
> > > > Olivier a écrit:
> > > > > Justement, j'ai même ton bouquin (Excellent ! par ailleurs)
> > > > > C'est pourquoi j'ai même pris l'exemple des chambres d'hotels.


:-)
> > > > >
> > > > > Mais ton exemple sur ton site :
> > > > > http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_math
> > > > > Ce n'est pas vraiment ce que je souhaite :-(
> > > > >
> > > > > Pour moi, le prix d'une chambre, n'est pas rattaché à une


chambre,
> > mais
> > > > > varie dans une période donnée.
> > > > > Exemple de prix :
> > > > > A partir du '01/01/2004' vaut 10.43
> > > > > A partir du '12/02/2004' vaut 22,65
> > > > > A partir du '26/06/2004' vaut 27,70
> > > > >
> > > > >
> > > > > Donc pour les séjours suivants, je dois obtenir le résultat
> > > > >
> > > > > Chambre N°1, le '10/01/2004' prix = 10.43
> > > > > Chambre N°1, le '12/01/2004' prix = 10.43
> > > > > Chambre N°1, le '02/02/2004' prix = 10.43
> > > > > Chambre N°1, le '20/02/2004' prix = 22,65
> > > > >
> > > > > Chambre N°2, le '10/04/2004' prix = 22,65
> > > > > Chambre N°2, le '29/05/2004' prix = 22,65
> > > > > Chambre N°2, le '01/07/2004' prix = 27,70
> > > > >
> > > > > etc...
> > > > >
> > > > > En fait mon problème est que le prix d'une chambre se situe
> forcément
> > > dans
> > > > > une période entre de deux dates.
> > > > > J'espère être clair ?
> > > > >
> > > > > Merci
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > "Fred BROUARD" a écrit dans le


message
> de
> > > > > news:%
> > > > >
> > > > >>la il suffit de parcourir mon site, car l'exemple est une


gestion
> > > d'hotel
> > > > >
> > > > > avec tranches tarifaires !!!
> > > > >
> > > > >>A +
> > > > >>
> > > > >>
> > > > >>--
> > > > >>Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi


/
> web
> > > > >>Livre SQL - col. Référence :
> http://sqlpro.developpez.com/bookSQL.html
> > > > >>Le site du SQL, pour débutants et pros :
> http://sqlpro.developpez.com
> > > > >>****************** mailto:
> ******************
> > > > >>
> > > > >>Olivier a écrit:
> > > > >>
> > > > >>>Bonjour,
> > > > >>>
> > > > >>>Soit une table T_sejours avec clientID, date_sejour
> > > > >>>
> > > > >>>soit une table T_tarifs as ID, date_debut_tarifs, prix
> > > > >>>
> > > > >>>exemple :
> > > > >>>
> > > > >>>1, '01/01/2004', 10.43
> > > > >>>2, '12/02/2004', 22,65
> > > > >>>3, '26/06/2004', 27,70
> > > > >>>
> > > > >>>
> > > > >>>Donc, je voudrais savoir tous les sejours qui ont eu lieu entre
> deux
> > > > >
> > > > > dates
> > > > >
> > > > >>>et pour chacun, le prix correspondant.
> > > > >>>
> > > > >>>Par ex :
> > > > >>>Une chambre d'hotel, à une date donnée, a forcément un prix.
> > > > >>>
> > > > >>>Là, pour faire ma requette : je sèche :-(
> > > > >>>
> > > > >>>Merci
> > > > >>>Olivier
> > > > >>>
> > > > >>>
> > > > >>
> > > > >
> > > > >
> > > >
> > > > --
> > > > Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi /
web
> > > > Livre SQL - col. Référence :
http://sqlpro.developpez.com/bookSQL.html
> > > > Le site du SQL, pour débutants et pros :
http://sqlpro.developpez.com
> > > > ****************** mailto:
******************
> > > >
> > >
> > >
> >
> >
>
>




1 2 3