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

PHP & Base de données Discussion :

Exporter données d'une table vers une autre table SQL [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut Exporter données d'une table vers une autre table SQL
    Bonjours,

    j'ai un petit problème je dois prendre les données d'un champs lui enlevé deux jours et le remettre dans un autre champs le champs ou il est

    est : planning_date

    et ce qui ce trouve dans la table planning=>champs=>planning_date: est comme cela 2008-12-21 00:00:00

    donc je doit prendre cette date là 2008-12-21 et lui enlever 2 jours pour

    pouvoir le mettre dans la table customers=>champs=>customers_date_inscription

    donc dans planning_date la date est 2008-12-21 je doi lui enlevé deux jours soit la date doit être 2008-12-19 quand on l'insère dans le champs customers_date_inscription

    j'ai commencé ma requette afin de récupérer toute les dates de planning_date par id car le problème c'est que un id peut avoir plusieur planning_date différent et que je doit prendre la première par customers

    ma requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT planning_date AS Number 
    	FROM es_planning
    	WHERE   planning_type='gratuite'
    	and customers_id='1'
    	group by customers_id 
    	order BY planning_type ASC LIMIT  1
    et avec ce resultat je devrai enlevé deux jours à 2008-12-21 00:00:00 et le mettre dans customers=>champs=>customers_date_inscription

    mon problème c'est que je sais pas comment enlevé les deux jours puis les placé la date dans customers=>champs=>customers_date_inscription

    donc si quelqu'un peu m'éclairer sur la façon de procédé ce serait gentil merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Utilise MIN() dans ton SELECT pour avoir la date la plus ancienne et DATE_SUB() dans ton UPDATE pour retirer les deux jours.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    UPDATE customers 
    SET  customers_date_inscription = DATE_SUB(
    (
    SELECT MIN(planning_date) 
    	FROM es_planning
    	WHERE   planning_type='gratuite'
    	and customers_id= 1
    ), 'INTERVAL 2 DAY') 
    WHERE customers_id = 1
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    Merci sabotage,

    Désolé de répondre que maintenant mais mon ma connection a breff passon ce détail merci pour ce code qui ma bien éclairé mais je doit faire cela sur tous les customers et pas seulement sur l'id=1 je doit juste enlevé ?? et fair comme sa:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    UPDATE es_customers 
    SET  cu.customers_date_inscription = DATE_SUB(
    (
    SELECT MIN(pl.planning_date) 
    	FROM es_planning pl, es_customers cu
    	WHERE  WHERE cu.customers_id = pl.customers_id 
    	and pl.planning_type='gratuite'
     
    ), 'INTERVAL 2 DAY') 
    WHERE cu.customers_id = pl.customers_id
    mais je suis pas sur de ma jointure pourrai tu me dir si ce qu'il y a de fau merci de ton aide

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Faisons la jointure avec un JOIN :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE es_customers JOIN
    (SELECT MIN(planning_date) as min_planning_date
    	FROM es_planning
    	WHERE planning_type='gratuite'
            GROUP BY customer_id
    ) as planning
    USING (customers_id)
    SET  customers_date_inscription = DATE_SUB(min_planning_date, 'INTERVAL 2 DAY')
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    Bonjour

    merci de ta réponse je vais essayer sa tout de suit merci

  6. #6
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    Merci pour ce code mais j'ai eu :
    #1064 - Erreur de syntaxe près de ''INTERVAL 2 DAY')' à la ligne 8

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE en_customers JOIN
    (SELECT MIN(planning_date) as min_planning_date
    	FROM en_planning
    	WHERE planning_type='gratuite'
            GROUP BY customer_id
    ) as planning
    USING (customers_id)
    SET  customers_date_inscription = DATE_SUB(min_planning_date, 'INTERVAL 2 DAY')
    j'ai juste mis en_ a la place de es_ car là je suis en test


    pour mon DATE_SUB(min_planning_date, 'INTERVAL 2 DAY')
    je doit pas fair comme sa DATE_SUB(min_planning_date, 2)

    car d'après l'exemple que j'ai si j'ai bien compris c'est comme sa
    = DATE_SUB(date, intervalle)
    j'ai testé sa mais sa marche pas

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

Discussions similaires

  1. Comment copier une table d'une BD vers une autre BD?
    Par js8bleu dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/10/2009, 09h13
  2. export d'une table d'une base vers une autre
    Par VBBBA dans le forum Access
    Réponses: 2
    Dernier message: 04/09/2006, 17h47
  3. Réponses: 4
    Dernier message: 25/08/2006, 00h25
  4. Réponses: 5
    Dernier message: 04/07/2006, 11h29
  5. [VB.NET] Copie d'une table d'une DB vers une autre
    Par SergeF dans le forum Windows Forms
    Réponses: 9
    Dernier message: 20/11/2004, 09h54

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