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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requete SQL parse timestamp => 2 champs string

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

requete SQL parse timestamp => 2 champs string

n°1661931
mechkurt
Posté le 21-12-2007 à 14:54:16  profilanswer
 

Bon jusqu'à présent j'étais resté dans des requêtes simple donc pas taper [:azitwaz]  
 
JE saurais le faire en php MySQL mais bon ce serais vraiment con et faut jamais perdre une occasion d'apprendre :)  
 
Je veux traiter les données d'une table bordélique pour en faire des stats...
 
Le pb (outre le fait que je soit une quiche en SQL) c'est que dans la ma table source j'ai un timestamp et que dans ma table destinataire j'ai un varchar 2 pour le mois et un varchar 4 pour l'année...
 
ma table source (j'ai viré tout les champs useless) :

Code :
  1. CREATE TABLE `acollecte` (
  2.   `numero` int(11) NOT NULL auto_increment,
  3.   `type` varchar(35) NOT NULL default '',
  4.   `date` timestamp(14) NOT NULL,
  5. [...]
  6.   PRIMARY KEY  (`numero`),
  7.   KEY `deja` (`deja`),
  8.   KEY `type` (`type`)
  9. ) TYPE=MyISAM AUTO_INCREMENT=12412 ;


ma table de destination :

Code :
  1. CREATE TABLE `ariane_contact_test` (
  2.   `ID` int(10) NOT NULL auto_increment,
  3.   `mois` char(2) NOT NULL default '00',
  4.   `annee` varchar(4) NOT NULL default '0000',
  5.   `ariane` varchar(100) NOT NULL default '',
  6.   `compteur` int(4) NOT NULL default '1',
  7.   PRIMARY KEY  (`ID`),
  8.   KEY `mois` (`mois`,`annee`)
  9. ) TYPE=MyISAM AUTO_INCREMENT=158 ;


 
et ma requête qui marche pas:

Code :
  1. -- insérer dans la table de stats
  2. INSERT INTO `ariane_contact_test` (`mois`, `annee`, `ariane`, `compteur`)
  3. SELECT (SUBSTRING(`date`,4,2), SUBSTRING(`date`,0,4), CONCAT('bckup:',`type`), count( * ))
  4. FROM `acollecte`
  5. -- pour les enregistrement superieur au 05/03/2007 a 17:25:10 (avant ca merdait)
  6. WHERE `date` >= 20070305172510
  7. -- je groupe mes enregistements pour que le count fonctionne
  8. GROUP BY `type`, SUBSTRING(`date`,4,2), SUBSTRING(`date`,0,4)


 
qui me renvoie:

Citation :

#1064 - You have an error in your SQL syntax near ' SUBSTRING(`date`,0,4), CONCAT('bckup:',`type`), count( * ))
FROM `acollecte`
' at line 3


 
J'ai essayé plusieurs variantes (avec/sans ( ) ` ' ", les élément placé a d'autres endroit, un DATE_FORMAT() au lieu d'un SUBSTRING()) mais rien n'y fait...
 
Merci d'éclairer ma lanterne...

mood
Publicité
Posté le 21-12-2007 à 14:54:16  profilanswer
 

n°1662012
flo850
moi je
Posté le 21-12-2007 à 16:38:48  profilanswer
 

jutse pour etre sur, un timestamp , chez moi , c'est le nombre de secondes depuis le 1 janvier 1970
 
donc ca ne resemble pas du tout à 20070305172510


---------------

n°1662031
mechkurt
Posté le 21-12-2007 à 17:20:55  profilanswer
 

c'est pas faux...
 
en même temps je me contente de donner l'export php myadmin ;-)
 
toute façon pouvez laisser tomber, je me suis débrouillé en php en 30 lignes de codes, ce qui m'embet c'est que je suis sur que c'est faisable uniquement en sql depuis phpmyadmin mais bon  [:airforceone]  
 
l'important c'est que ce soit fait  :hello:  
 
je ne met pas [résolu] en titre car si qq'un me pond la requête correct en SQL j'aurais appris qq chose...

n°1664726
MagicBuzz
Posté le 02-01-2008 à 14:06:28  profilanswer
 

c'est quoi ces () qui s'ouvrent juste après le mot "select" ?
 
parceque ça, sûr et certain, ça va merder.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requete SQL parse timestamp => 2 champs string

 

Sujets relatifs
Problème de requête d'insertion IIS/Access/ASP[SQL Pervasive\VB .NET][RESOLU] Passerelle EBP
parse errorrequete mysql spéciale pour créer un chat
[Sql,Sybase,perl]Requête Sql sybase pour script perlDOM ->String
[php / myadmin] Faire un export SQL en phpPHP :Récupération d'une donnée à l'aide d'une requête
requete utilisant LIKE %% 
Plus de sujets relatifs à : requete SQL parse timestamp => 2 champs string


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