IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Période incluse dans une autre


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 4
    Par défaut Période incluse dans une autre
    Bonjour tout le monde,

    J'ai un soucis avec un test sous SQL Server, j'explique:

    J'ai une table TARIF_PERIODES avec à peu prés la structure suivante:
    ID_TARIF, DEB_PERIODE, FIN_PERIODE, TARIF_CORRESPONDANT

    D'un autre coté j'ai une table RESERVATIONS:
    ID_RESERVATION, DEB_SEJOUR, FIN_SEJOUR, NB_NUITEES

    Pour chaque réservation j'ai besoin de déterminer dans quelle période tarifaire elle se situe pour pourvoir calculer le montant total de la réservation, que ça soit dans le cas où la période du séjour se situe dans une seule période tarifaire ou entre plusieurs.

    Exemple Périodes:
    1 | '23/08/2012' | '29/08/2012' | 250
    2 | '30/08/2012' | '01/09/2012' | 300
    3 | '02/09/2012' | '10/09/2012' | 320

    Exemple Réservations:
    1 | '25/08/2012' | '31/08/2012' | 6 (Réservation qui se situe entre deux périodes)
    2 | '31/08/2012' | '01/09/2012' | 1 (1 seule période)
    3 | '28/08/2012' | '05/09/2012' | 9 (s'étalant sur 3 périodes tarifaires)

    D'abord je voulais savoir comment faire pour tester l'existence d'une période (date_debut,date_fin) dans une autre (même éléments) sous SQL server?

    Et comment je peux procéder pour créer une requête qui me retourne le montant total d'une réservation peu importe où se situe la période du séjour.

    Je ne sais pas si mes explications ont été assez claires, vu que c'est un message écrit à la hâte ^^

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 010
    Billets dans le blog
    6
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 4
    Par défaut
    Merci SQLpro pour la réponse, mais vu ta réponse je vois que je n’étais peut être pas assez claire je pense, je n'ai aucun problème à tester le chevauchement entre deux période dont je connais les dates début et fin, j'ai déjà une fonction qui me permet de tester les chevauchements entre périodes de congés, missions et formations

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Dans ce cas pouvez-vous donner le code de la fonction, et ce que vous avez tenté comme code pour le moment

    @++

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 4
    Par défaut
    Désolée d'avoir tardé à répondre, week-end oblige ^^
    Sinon j'utilise un test simple pour vérifier le chevauchement dans le cas des congés et déplacements.
    Exemple, vérifier si une période de congé entrée par un utilisateur ne se chevauche pas un autre congé planifié à l'avance et oublié.
    et je suppose dans mon exemple que la table où je stocke les congés porte le nom CONGES:
    SELECT
    (
    CASE
    WHEN ((#DEB_CNG_DEMANDE# BETWEEN CONGES.DT_DEBUT AND CONGES.DT_FIN) OR (#FIN_CNG_DEMANDE# BETWEEN CONGES.DT_DEBUT AND CONGES.DT_FIN))
    THEN 1
    ELSE 0
    END)
    FROM CONGES WHERE USER = #ID_USER#

    Par contre pour ce qui est de la fonction/test que je cherche à réaliser dans ce poste, je suis vraiment à court d'idées, je ne vois pas par où commencer, et comment faire pour que mon test couvre tous les cas, et bien sur récupérer le montant total.

  6. #6
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Votre test est parfaitement incomplet :

    Il ne détecte pas les inclusions :
    - Période tarifaire totalement incluse dans une période de réservation
    - Période de réservation totalement incluse dans une période térifaire

Discussions similaires

  1. Liste d'éléments inclus dans une autre ?
    Par bertry dans le forum MATLAB
    Réponses: 0
    Dernier message: 09/04/2012, 21h13
  2. Ne pas référencer une page incluse dans une autre
    Par aurelientp dans le forum Référencement
    Réponses: 2
    Dernier message: 16/03/2010, 11h37
  3. Probleme d'inclusion d'un container d'une classe dans une autre
    Par Tavarez59 dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 30/03/2007, 22h41
  4. Bind variable incluse dans une autre bind variable
    Par kinder_pingui dans le forum SQL
    Réponses: 3
    Dernier message: 28/11/2006, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo