Accueil > Forum > > > > Probleme requete
Probleme requete
lundi 21 janvier 2008 à 17:32:47 |
Probleme requete

mathvez
|
Bonjour j'ai une requete SQL:
SELECT Emp_Code, Srv_Code, Sec_Code, Zon_Code, Emp_UserID, Max(datediff(day,isnull(Date_Debut,'2007-01-01'),isnull(Date_Fin,'2007-03-31'))) as NbJour, Sit_Type FROM (SELECT Vue_Employe_Prog_Reconnaissance.Emp_Code, Vue_Employe_Situation.Srv_Code, Vue_Employe_Situation.Sec_Code, Vue_Employe_Situation.Zon_Code, case when Vue_Employe_Situation.Sit_Date_Debut < '2007-01-01' or Vue_Employe_Situation.Sit_Date_Debut is null then '2007-01-01' else Vue_Employe_Situation.Sit_Date_Debut end as Date_Debut, case when Vue_Employe_Situation.Sit_Date_Fin > '2007-03-31' or Vue_Employe_Situation.Sit_Date_Fin is null then '2007-03-31' else Vue_Employe_Situation.Sit_Date_Fin end as Date_Fin , Vue_Employe_Prog_Reconnaissance.Emp_UserID, Vue_Employe_Situation.Sit_Type
FROM Vue_Employe_Situation INNER JOIN Vue_Employe_Prog_Reconnaissance ON Vue_Employe_Situation.Emp_Code=Vue_Employe_Prog_Reconnaissance.Emp_Code WHERE (Vue_Employe_Situation.Sit_Date_Debut <= '2007-01-01' and Vue_Employe_Situation.Sit_Date_Fin >= '2007-01-01' and Vue_Employe_Situation.Sit_Date_Fin <= '2007-03-31') or (Vue_Employe_Situation.Sit_Date_Debut >= '2007-01-01' and Vue_Employe_Situation.Sit_Date_Fin <= '2007-03-31') or (Vue_Employe_Situation.Sit_Date_Debut >= '2007-01-01' and Vue_Employe_Situation.Sit_Date_Debut <= '2007-03-31' and Vue_Employe_Situation.Sit_Date_Fin >= '2007-03-31') or (Vue_Employe_Situation.Sit_Date_Debut <= '2007-01-01' and Vue_Employe_Situation.Sit_Date_Fin >= '2007-03-31') or (Vue_Employe_Situation.Sit_Date_Debut <= '2007-03-31' and isnull(Vue_Employe_Situation.Sit_Date_Fin, getdate()) >= '2007-03-31') ) STOT Group by Emp_Code, Srv_Code, Sec_Code, Zon_Code, Emp_userid, Sit_Type
qui me retourne code service secteur zone user NbJour situation 666092 14 130 1182 BEAULIEU 47 T 666092 17 102 1090 BEAULIEU 65 R 669384 12 102 1012 BELZILEFR 39 R 669384 14 112 1112 BELZILEFR 72 R
Je voudrais savoir ce que je dois rajouter pour faire sortir seulement 1 enregistrement par user selon les 2 conditions suivante: -si la situation est temporaire (T) et + que 45 jour alors tu utilise cet enregistrement -sinon tu utilise l'enregistrement qui a le plus de jour de fais
Merci de votre aide elle sera beaucoup apprécié
|
|
mardi 22 janvier 2008 à 13:16:03 |
Re : Probleme requete

KenZara
|
Bonjour, Il me semble que tu ne peux pas faire une requête avec des "if" il faudra dans ce cas, faire une procédure stockée .. Dans quelle type de base de données travailles tu ? Kenza 
|
|
mardi 22 janvier 2008 à 14:27:39 |
Re : Probleme requete

mathvez
|
Je travaille avec une petite base de donnée acces ( un projet de bilan médical ) , j'utilise cette requete avec les 3 lignes de code suivant ( codé en VBA (macro) ) .
Dim bdAccidents as ADODB.Recordset Set bdAccidents = new ADODB.Recordset bdAccidents.Open "Requete SQL", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
ensuite je traite mes infos avec
While Not (bdAccidents.EOF) ' Pour chacun des enregistrements
'Code a traiter
bdAccidents.MoveNext
Wend
Pour simplifier la requête:
SELECT Emp_Code, Srv_Code, Sec_Code, Zon_Code, Emp_UserID, Max(datediff(day,isnull(Date_Debut,'2007-01-01'),isnull(Date_Fin,'2007-03-31'))) as NbJour, Sit_Type FROM ( ****Requete select****) GTotal Group by Emp_Code, Srv_Code, Sec_Code, Zon_Code, Emp_UserID, Sit_Type
qui me retourne code service secteur zone user NbJour situation 666092 14 130 1182 BEAULIEU 47 T 666092 17 102 1090 BEAULIEU 65 R 669384 12 102 1012 BELZILEFR 39 R 669384 14 112 1112 BELZILEFR 72 R
Je voudrais savoir ce que je dois rajouter pour faire sortir seulement 1 enregistrement par user selon les 2 conditions suivante: -si la situation est temporaire (T) et + que 45 jour alors tu utilise cet enregistrement -sinon tu utilise l'enregistrement qui a le plus de jour de fais
Merci de votre aide elle sera beaucoup apprécié
|
|
mardi 22 janvier 2008 à 20:32:56 |
Re : Probleme requete

mathvez
|
Réponse acceptée !
Finalement pour atteindre mon but, jai utilisé la même requête mais jai utilisé le code de l'application pour ignorer certains enregistrements en fonction des 2 conditions suivantes: -si la situation est temporaire (T) et + que 45 jour alors tu utilise cet enregistrement -sinon tu utilise l'enregistrement qui a le plus de jour de fais
Si jamais quelqu'un trouve la solution pour ajouter ces conditions à la requête SQL, svp me faire parvenir la solution. Mon système deviendrais beaucoup plus performant.
Merci
|
|
Cette discussion est classée dans : date, code, employe, vue, situation
Répondre à ce message
Sujets en rapport avec ce message
un gran pb de redondance [ par mehdi911 ]
Mehdi j ai table assid_emp code : code assid matricule :emp date_assid : date d absence
Probleme de requete Date [ par Neocarter ]
Bonjour a tous,J'ai actuellement un petit probleme dans une de mes requetes SQL. En effet, a chaque demarrage, j'ai l'erreur "Fonction 'Date' non defi
Requête FTS sur vue. [ par gillou1664 ]
Bonjour tout le monde.Bon, je suis pas très bon en SQL et j'ai un petit soucis (enfin gros :p) : J'essaie d'utiliser une fonction de recherche de text
optimisation requete sous sql server 7 [ par lulu1537 ]
Bonjour, j'ai une table ainsi crée sous Sql server 7tblCUMULS_ELEMENTS( DATE_VENTE date, CODE_ELEMENT varchar(13), CODE_RAYON varchar(10),
Sélectionné uniquement la date de demain [ par vincej ]
Bonjour, Je cherche a récupérer uniquement les enregistrements qui date de demain. voila comment j'ai précédé : [code=php]$itomorrow = time () + 86
SomDom dans une [requéte] access 2007 [ par DECAPCH ]
Bonjour; merci de bien vouloir m'aider sur une requéte ou je voudrai faire des sous totaux avec la fonction SomDom. j'ai en faite une requéte qui se c
BETWEEN date sans le jours [ par Fayo ]
Bonsoir à tous, J'aimerai récupérer tous les enregistrements d'une table, dans un intervalle de temps. Le champs date de ma table est un datetime, s
probleme oracle [ par celeste87 ]
Slt à tous j'ai un probleme avec mon package MAJ_SALARIES(qui permet de mettre à jour la table salarié et pour un salarié si j'insere un enfant je met
manipulation des dates [ par sparo83 ]
Bonsoir à vous, je travail sous oracle 10g en manioulant les entrepots de données et mon probleme est le suivant : j'ai une vue matérialisée 'temps'
MCD ???? [ par yazidak1 ]
Bonjour j'ai comme mini-projet "La Gestion Des Stocks" d'une ETP Après avoir tracé les tables client,fournisseur, article .... il me reste le MCD( M
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Forum
BESOIN D'UN BIBESOIN D'UN BI par michimichid
Cliquez pour lire la suite par michimichid
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|