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

Langage SQL Discussion :

Aide requête SQL


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Janvier 2016
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Aide requête SQL
    Bonjour,

    Je suis débutant en SQL et je n'arrive pas à réaliser une requête SQL.
    En effet, je voudrais améliorer un petit intranet qui gère des projets et je voudrais rajouter une option qui filtre tous les projets sans "commandes"

    Voici la requête de base:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    sSQL = "SELECT Tb_Projets.idClient,isnull(Tb_Projets.invisibleEspaceClient,0) invisibleEspaceClient,Tb_Projets.id,societe,codeProjet,libProjet,modulesConcernes,dateDebut,avancement,categorieProjet,prioriteProjet,couleurFond,couleurTexte,sum(Tb_DetailProjets.nbJours) as nbJours,Tb_Projets.consultant,Tb_Projets.respProjet,Tb_Projets.dateDebutRecette,Tb_Projets.dateFinRecette,Tb_Projets.invisibleEspaceClient,convert(varchar,Tb_Projets.dateCloture,103) dateCloture,isnull(enqueteSatisfactRealisee,0) enqueteSatisfactRealisee "
    		sSQL = sSQL & "	FROM Clients,Tb_Projets,Tb_DetailProjets"
    		sSQL = sSQL & " WHERE Tb_Projets.idClient=Clients.Numéro"
    		sSQL = sSQL & " AND Tb_DetailProjets.idProjet=Tb_Projets.id"
     
    		if STADEPROJET="enCours" then
    			sSQL = sSQL & " AND isnull(projetCloture,0)=0 "
    		elseif STADEPROJET="clos" then
    			sSQL = sSQL & " AND isnull(projetCloture,0)=1 "
    		end if
     
    		if STADEPLANIF="planifie" then
    			sSQL = sSQL & " AND EXISTS (SELECT * FROM Tb_ProjetsChargesPrevisionnelles WHERE Tb_ProjetsChargesPrevisionnelles.idProjet=Tb_Projets.id AND isnull(Tb_ProjetsChargesPrevisionnelles.supprimee,0)=0)"
    		elseif STADEPLANIF="nonPlanifie" then
    			sSQL = sSQL & " AND NOT EXISTS (SELECT * FROM Tb_ProjetsChargesPrevisionnelles WHERE Tb_ProjetsChargesPrevisionnelles.idProjet=Tb_Projets.id AND isnull(Tb_ProjetsChargesPrevisionnelles.supprimee,0)=0)"
    		end if
     
    		if IDCLIENT<>"" then
    			sSQL = sSQL & " AND Tb_Projets.idClient=" & IDCLIENT			
    		end if
     
     
     
    		if PROJETSANSCOMM="sansCommandes" then
    		sSQL = //Code à compléter
    		end if
     
    		sSQL = sSQL & " GROUP BY Tb_Projets.idClient,Tb_Projets.id,societe,codeProjet,libProjet,modulesConcernes,dateDebut,avancement,categorieProjet,prioriteProjet,couleurFond,couleurTexte,Tb_Projets.consultant,Tb_Projets.respProjet,Tb_Projets.dateDebutRecette,Tb_Projets.dateFinRecette,Tb_Projets.invisibleEspaceClient,Tb_Projets.dateCloture,enqueteSatisfactRealisee "
    		sSQL = sSQL & "	ORDER BY Clients.societe,dateDebut "

    Pour cela je fais appel à 2 tables ci-joint :

    Nom : Capture2.PNG
Affichages : 141
Taille : 20,3 Ko Nom : Capture.PNG
Affichages : 110
Taille : 4,4 Ko

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 244
    Points : 12 878
    Points
    12 878
    Par défaut
    Bonjour,
    A priori tu cherches les ligne de Projet pour lesquelles il n'y a pas de ligne correspondante dans CommandeProjet.
    Plusieurs solutions existent, par exemple avec NOT EXIST, une jointure externe et un test de NULL dans le WHERE.

    Tatayo.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/11/2007, 22h23
  2. Aide Requête SQL
    Par jjg65 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/07/2007, 10h37
  3. Aide requête SQL - UPDATE phpmyadmin
    Par laulau37 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/06/2007, 10h19
  4. Aide requête sql
    Par viny dans le forum PostgreSQL
    Réponses: 18
    Dernier message: 14/09/2006, 21h31
  5. Aide Requête SQL (UPDATE)
    Par Glowprod dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/07/2006, 14h04

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