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

Linq Discussion :

quelqu'un peut il m'ecrire cette requete sql qui utilise les jointures en linq to sql ?


Sujet :

Linq

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Par défaut quelqu'un peut il m'ecrire cette requete sql qui utilise les jointures en linq to sql ?
    Bonjour,

    Comment convertir ceci en LINQ
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select C.id_chambre from chambre C , reservation R , gestion G
    where G.id = ide 
    and G.categorie=C.categorie
    and C.id_chambre=R.id_chmbre
    and G.date_depart<= R.date_arrivee
    and  G.date_arrivee >= R.date_depart
    Avec ide un entier que j'ai defini auparavant

    Merci beaucoup.

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Elles sont où tes jointures ? Car là il n'y en a aucune. Une jointure c'est ça.

    Sinon tu peux regarder ceci, et chercher un peu pour faire tes jointures.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par StormimOn Voir le message
    Elles sont où tes jointures ? Car là il n'y en a aucune
    Hum... t'es sûr ?

    Le mot clé JOIN est pas forcément obligatoire pour faire une jointure (en tous cas pas sur Oracle). Dans sa requête il y a bien une jointure entre les tables chambre, reservation et gestion

    En Linq to SQL ça donnerait quelque chose comme ça :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var query = 
        from c in db.Chambre
        join r in db.Reservation on c.id_chambre equals r.id_chambre
        join g in db.Gestion on c.categorie equals g.category
        where g.date_depart <= r.date_arrivee
              && g.date_arrivee >= r.date_depart
        select c.id_chambre;

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Le mot clé JOIN est pas forcément obligatoire pour faire une jointure (en tous cas pas sur Oracle)
    Je n'ai touché qu'à du SQL Server et c'est vrai qu'à partir de là j'ai peut être trop extrapolé
    Je saurais que sous Oracle c'est implicite maintenant.

    Sous SQL Server la syntaxe existe aussi mais le comportement est différent. Ca génère tous les enregistrements possibles par combinaison entre les différentes tables de la clause FROM.

  5. #5
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Je suis pas sur qu'il faille préciser tous les joins!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    where c.categorie.date_depart <= c.reservation.date_arrivee
              && c.categorie.date_arrivee >= c.reservation.date_depart
    devrait suffir. C'est à Linq de faire son boulot pour les jointures apres

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    C'est pas faux
    A condition que les associations aient été correctement modélisées bien sûr...

Discussions similaires

  1. [Joomla!] Retrouver la requete SQL qui affiche les modules dans la zone admin
    Par vladock dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 04/10/2012, 12h12
  2. Requete SQL qui sur les jours de l'année
    Par dexter2 dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 12/04/2012, 12h52
  3. Réponses: 5
    Dernier message: 14/08/2009, 09h24
  4. Creer une requete update qui recupere les données de 2 tables
    Par pooi1 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/06/2007, 13h13

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