Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1297 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Requête SQL selon conditions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête SQL selon conditions

n°2047053
maxdata
Posté le 07-01-2011 à 00:24:15  profilanswer
 

Bonjour,
 
Je souhaite réaliser une requête SQL sous PHP avec des conditions, et j'ai besoin d'aide :)  
 
Dans ma base SQL, j'ai plusieurs champs date "date1, date2, date3, date4, date5" et il faut que je puisse récupérer la dernier date ajouter dans l'ordre date1 2 3 ..etc  
 
mais il peut y avoir une date dans le champs date1, 2...  mais pas dans les autres, et c'est la dernière que je souhaite afficher donc je ne sais meme pas si cela est possible.
 
Merci de votre aide
 
MAx  

mood
Publicité
Posté le 07-01-2011 à 00:24:15  profilanswer
 

n°2047071
flo850
moi je
Posté le 07-01-2011 à 08:53:41  profilanswer
 

ton schéma de base de données me semble un peu tordu  
 
SELECT * from table ORDER BY date1 DESC, date2 desc, date3 desc, date4 desc , date5 desc  
 

n°2047075
esox_ch
Posté le 07-01-2011 à 09:31:28  profilanswer
 

LIMIT 1
:o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2047079
smaragdus
whores, drugs & J.S. Bach
Posté le 07-01-2011 à 09:35:53  profilanswer
 

maxdata a écrit :

Bonjour,
 
Je souhaite réaliser une requête SQL sous PHP avec des conditions, et j'ai besoin d'aide :)  
 
Dans ma base SQL, j'ai plusieurs champs date "date1, date2, date3, date4, date5" et il faut que je puisse récupérer la dernier date ajouter dans l'ordre date1 2 3 ..etc  
 


 
Change cette méthode de travail : si tu avais 30 dates, tu aurais fait 30 colonnes de date1 à date30 ?
 
La méthode propre consiste à créer une table qui contient toutes tes dates avec une clé étrangère (et un ordre si c'est vraiment utile)
 
Autre méthode un peu moins propre selon le RDBMS que tu utilises, tu peux utiliser un champ ARRAY
 
 

n°2047099
antac
..
Posté le 07-01-2011 à 10:12:58  profilanswer
 

+1 c'est la règle de base  quand c'est indéterminé comme ça.

n°2047487
maxdata
Posté le 07-01-2011 à 22:03:19  profilanswer
 

Merci pour vos réponses, la base de donnée est un import d'un fichier Excel qui provient d'un export sur un outil HP de ticket, et donc je n'ai pas choisi l'architecture

 

Mais je viens de me rendre compte que c'est encore plus complexe que ça dons j'ai besoin !!

 

en faite il faut que je face une requête qui dit " Si le champs toto1 ou toto2 ou toto3 est éqal a Fermé, récupérer la date date1, 2 ou 3 "

 

donc si :
toto1=Fermé afficher date1
toto2= Fermé afficher date2
toto3= fermé afficher date3 .... etc
 
le but pour moi est de récupérer les temps écoulés entre 2 dates, j'ai les dates de début fixe, mais les dates de fin aléatoire selon les affectations dans les tickets et de la valeur Fermé, donc j'ai autant de champs Date que d'affection du ticket.

 

Pour résumer, c'est la valeur qui est = Fermé, qui fait que je dois afficher la date correspondante

 

On peux faire ça dans une requête mySQL ?


Message édité par maxdata le 07-01-2011 à 22:04:32
n°2047524
flo850
moi je
Posté le 08-01-2011 à 08:48:28  profilanswer
 

http://dev.mysql.com/doc/refman/5. [...] ement.html

Code :
  1. SELECT
  2.   IF(
  3.       toto1='fermé',
  4.       date1,
  5.       IF(
  6.          toto2='fermé',
  7.          date2,
  8.          IF(
  9.              toto3='fermé',
  10.              date3,
  11.              'Aucune date de fermé'
  12.           )
  13.       )
  14.    ) AS ma_date
  15. FROM ma_table_toute_pourrite
  16. ORDER BY ma_date DESC
 


Message édité par flo850 le 08-01-2011 à 08:49:50
n°2047605
maxdata
Posté le 09-01-2011 à 03:34:25  profilanswer
 

merci, c'est génial et ça marche nickel ;)

n°2047635
maxdata
Posté le 09-01-2011 à 13:22:53  profilanswer
 

J'ai une dernière demande, je souhaite calculer et afficher des stats sur les entrer identiques dans une table, par exemple j'ai les noms toto1, toto2, 3, 4...  qui apparait dans le champs "nom"
 
je souhaite calculer automatiquement le nombre d'entrer pour chaque toto et l'afficher pour des stats par nom.
 
Par exemple
 
toto1 = 59
toto2 = 21
toto3 = 18  
 
il me semble que cela devrait ressembler a ça non ?
SELECT COUNT(*) ...

n°2047646
gzii
court-circuit
Posté le 09-01-2011 à 15:38:46  profilanswer
 

Vois la clause GROUP BY

mood
Publicité
Posté le 09-01-2011 à 15:38:46  profilanswer
 

n°2047672
maxdata
Posté le 09-01-2011 à 17:44:42  profilanswer
 

OK j'ai trouvé merci, il reste une dernière requête a créer, qui je crois est la plus complexe !!

 

Il faut que je face une requête qui dit " Si la valeur toto1 ou toto2 ou toto3 est éqal a Fermé, récupérer  la valeur du champ titi1 titi2, 3 ou 4 et de me les compter par toto "
 

 

donc si :
toto1=Fermé afficher titi1 - 48
toto2= Fermé afficher titi2 - 21
toto3= fermé afficher titi3 .... etc

 

Alors la !! si quelqu'un a une piste pour m'aider, car je bloque


Message édité par maxdata le 09-01-2011 à 22:14:03
n°2047709
flo850
moi je
Posté le 09-01-2011 à 21:04:54  profilanswer
 

tu pexu arreter avec les toto, ça embrouille ton discours  
 
ça veut dire quoi me les compter par toto ?

n°2047719
maxdata
Posté le 09-01-2011 à 22:13:29  profilanswer
 

je souhaite compter tout les "nom" dans mon champ "State1Author"
 
Il faut que je face une requête qui dit " toutes les valeurs etat1 ou etat2 ou etat3 est éqal a Fermé, récupérer  la valeur du champ State1Name State2Name, State3Name et de les compter afin d'avoir des stats"
 
en faite je veux compté tout les noms en fonction d'un autre champs si il est egal a Fermé
 
je veux savoir qui a fermé des tickets et combien par personne :)


Message édité par maxdata le 09-01-2011 à 22:24:46

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Requête SQL selon conditions

 

Sujets relatifs
Deconcatener SQL sous ACCESSReq sur 3 fichiers Excel - Comment s'utilise RechercheV en VBA svp ?
SQL: une somme toute bête[SQL] - Restauration sans NDF ?
requête POSTProblème pour créer la requête SQL demandée
[RM COBOL 7.5 & SQLSVR] Injection données COBOL dans SQL Server[SQL] "Arrêter prématurément" une requête
Problème conditions requete SQL[SQL] Requete , where avec plusieurs conditions
Plus de sujets relatifs à : Requête SQL selon conditions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR