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 :

Synchronisation programmée de DB !


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut Synchronisation programmée de DB !
    Bien avant toute chose Bonne année à Tous

    Bien je me présente Jean Bernard et je cherche une formule bien précise, sans pour autant être un as du Sql.
    Ceci dit j'ai déjà effectuer quelques requête basique :p

    Je ne sais pas si je suis dans le bon forum ni si j'aurai une aide mais voilà vous êtes le premier forum Français repris dans Google ^_^
    Puis qui ne tente rien n'a rien, j'espère juste trouvé une âme charitable pour m'aider !

    Que je m'explique 1 - le langage Sql pour moi c'est ... Aie aie ceci dit je sais néanmoins répéter bêtement les traductions que l'on me fait, aussi dans votre mode recherche que j'ai parcouru un peu, je ne sais pas exactement comment formuler ma recherche.

    Sinon voilà :

    J'ai une base de donnée : DonnéesA.
    Dedans mes produits : TableProduitA.
    Données : StockA.

    J'ai une autre base de donnée : DonnéesB.
    copie conforme de DonnéeA mais revu avec les mêmes Référence !
    Dedans mes produits : TableProduitB.
    Données : StockB.

    Bien je cherche a mettre en place une tâche cron qui =

    Tout les jours a " 03h" " DonnéesA " Va vérifier dans " DonnéesB " si StockB Produits de même " Références " a changer, si c'est le cas Prendre donné de StockB et mettre a jour donnée StockA.

    Sans oublier une vérification dans les déclinaisons et mettre a jour celle-ci !

    En faite je cherche la traduction sql de cette phrase mais hélas j'ai pas trop le temps de m'y attaché davantage et trouvé cette formul m'aidé énormément, ça soulagerai beaucoup de travail maintenant faut aussi que dans ce que j'ai écris je me suis bien fait comprendre car la communication est pas toujours comprise ^_^

    Voilà d'avance merci de m'avoir lu !

    J'espère que je trouverai une traduction a cela.

    Encore une bonne et heureuse année les bêtes de l'informatique. ^_^


    Exprimé enfin j'essaie autrement :

    " BdA "
    " TableProduitA " " Colonne-ean13A " " Colonne-quantityA " " ValeurAMettreAjourA "
    " TableAttributA " " Colonne-ean13A " " Colonne-quantityA " " ValeurAMettreAjourA "


    Vérifie

    " DbB "
    " TableProduitB " " Colonne-ean13B-MêmeRéférence " " Colonne-quantityB " " ValeurDeRéférenceB "
    " TableAttributB " " Colonne-ean13B-MêmeRéférence " " Colonne-quantityB " " ValeurDeRéférenceB "

    Si B a changer Mettre a jour A ^_^

    Enfin je tente de m'exprimer au mieux

    Néanmoins Traduire cette formule en sql pour moi c'est du chinois ( enfin non c'est juste pas ma spécialité ) Hors pour les experts, ça doit être les doigts dans le nez ^_^

  2. #2
    Membre actif Avatar de Schaublore
    Homme Profil pro
    Manuel
    Inscrit en
    Octobre 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Manuel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 61
    Par défaut
    Salut,


    Je ne sais pas te donner la syntaxe exacte, mais tu peu le faire par étape.

    1) Trouver tout les enregistrement à mettre a jour
    >SELECT ID_ean13A FROM `DonnéeA`.`TableProduitA` WHERE `DonnéeA`.`TableProduitA`.`StockA` != `DonnéeB`.`TableProduitB`.`StockB`;
    Cela t'affiche toute les réference des produits vendu

    2) puis la procedure de mise a jour... on essai avec 1
    >UPDATE `DonnéeA`.`TableProduitA` SET StockA=10 WHERE ID_REF = "1"

    3) Enfin, on compile:
    >UPDATE `DonnéeA`.`TableProduitA` SET StockA=`DonnéeB`.`TableProduitB`.`StockB` WHERE `DonnéeA`.`TableProduitA`.`StockA` != `DonnéeB`.`TableProduitB`.`StockB` LIMIT 1

    Enfin je tente d'aider de mon mieux

  3. #3
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    Bonsoir Schaublore, ^_^

    Avant tout merci :-)

    Bien oui, c'est ça quoi, c'est savoir les bonnes formules et surtout le mettre dans le bonne ordre ^_^

    Bon je vais déjà tâcher de comprendre celle que vous m'avez donner ^_^

    Avec un peu de latence car là de-suite je dois régler un souci Error500 sur mon serveur

    Merci beaucoup ^^

  4. #4
    Membre actif Avatar de Schaublore
    Homme Profil pro
    Manuel
    Inscrit en
    Octobre 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Manuel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 61
    Par défaut
    Bonjour Jb-Toys,

    Peux tu indiquer quel client/server SQL tu utilises. Et l'application si tu utilise une solution OpenSource


    Si vraiment c'est du chinois, je te conseil un peu de lecture tutoriel sql
    Aussi, je te propose de poster comme un pro toutes les info util. http://sqlpro.developpez.com/cours/s...age=partie2#L9

    Par example, au lieu d'écrire :
    J'ai une base de donnée : DonnéesA.
    Dedans mes produits : TableProduitA.
    Données : StockA.
    Ben, met voila ma tableA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE TABLE `mgtcatalog_product_entity`(
        entity_id INT PRIMARY KEY NOT NULL,
    )

    Après cela, tu aurra plus de chance pour que quelqu'un réponde favorablement

    @++

  5. #5
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    Re Schaublore,

    Merci pour les infos, j'y regarderai attentivement !

    Oui j'suis tombé et déjà parcouru un peu le manuel ^_^
    Ne vous inquiétez pas ! J'suis le premier a parcourir le web a la recherche d'info :-)
    Je suis d'ordre Auto-ditacte mais parfois le temps me le permet pas.

    C'est clair que ça aurait été plus simple de vous parlez comme un pro :-)
    Hors je ne le suis pas du tout en Sql ... Bien hélas, dans d'autres domaine si vous voulez.

    Et comme je suis tenu par le temps, déjà que j'y passe mes nuits presque entières ...
    Bosser et apprendre, c'est pas ça qui me fait peur, bien au contraire, je me fais même engueuler car je dors pas assez lol ... Bien oui j'ai tout de même quelques âmes bienveillant qui veille a ma santé

    Sinon je me suis exprimé au mieux pour que l'ont saisi l'idée entière et comme je l'avait précisé la bonne communication est capital :-)
    Bref tout comme les traducteurs de langues parler, maintenant je sais pertinemment que je vais être OBLIGER d'apprendre les bases de cette langue ... Juste que dans l'imminent immédiat j'suis vraiment pris part le temps :/ et c'est très rare que je demande un peu d'aide ^_^

    Ceci dit je comprend votre point de vue et j'en fais autant autour de moi lol ... Juste que j'ai compris que le facteur temps ... Bien il est là quoi qu'on fasse ...
    Genre la je perds du temps a vous écrire oui et non car je mets moins de temps a vous expliquez ceci que vous a comprendre le sql ( enfin si vous saisissez l'idée )

    Ceci dit je n'oublie pas non plus que si aucune âme charitable m'aide, je serai tout de même forcé a apprendre ( comme je l'ai toujours fait ^_^) Mais comme dit qui tente rien n'a rien et perso, j'suis un peu fatigue en ce moment donc je tente de demander de l'aide ) :-)

    Bref ... J'use du phpmyadmin du serveur de OVH.
    Limite la traduction simple de sql ou la trouve partout, c'est le comment faire une phrase clair et surtout que ça fonctionne lol

    J'ai bien télécharge des programmes super tic et tac .... mais on reste toujours dans le domaine du c'est une nouvelle langue a apprendre très vite et là tout de suite j'ai besoin de la traduction que d'une phrase :/

    Ceci dit Merci pour le temps que vous m'accordez ^_^

  6. #6
    Membre actif Avatar de Schaublore
    Homme Profil pro
    Manuel
    Inscrit en
    Octobre 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Manuel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 61
    Par défaut
    Peux tu indiquer quel client/server SQL tu utilises
    Bref ... J'use du phpmyadmin
    Il faudrai (en plus) que tu indique la description de tes tables:



    pour afficher les ligne: CREATE TABLE...

  7. #7
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    Re Schaublore,
    ( Et merci d'être aussi patient et tolérence avec moi ^_^)

    Vais faire un copier-coller ce sera mieux :p

    Serveur de base de données
    Serveur : Localhost via UNIX socket
    Type de serveur : MySQL
    Version du serveur : 5.1.73 - Source distribution
    Version du protocole : 10
    Utilisateur : ***
    Jeu de caractères du serveur : UTF-8 Unicode (utf8)

    Serveur web
    Apache
    Version du client de base de données : libmysql - 5.1.73
    Extension PHP

    phpMyAdmin
    Version : 4.1.14.6.


    Ca devrait être ça si je me trompe pas ^_^

    --
    -- Structure de la table `LV_product`
    --
    CREATE TABLE IF NOT EXISTS `LV_product` (
    `ean13` varchar(13) DEFAULT NULL,
    `quantity` int(10) NOT NULL DEFAULT '0',
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2788 ;
    et

    --
    -- Structure de la table `LV_product_attribute`
    --
    CREATE TABLE IF NOT EXISTS `LV_product_attribute` (
    `ean13` varchar(13) DEFAULT NULL,
    `quantity` int(10) NOT NULL DEFAULT '0',
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=8139 ;


    Enfin j'ai repris ce qui m'intéresse. ... Je pense ^_^
    J'espère que ce sont les infos voulu :/

    Donc ma recherche serait de prendre les infos de ce colonne là de A vérifier si sur A rien a changer et si changement mettre la base B a jour le tout en tâche cron dont les deux bases sont sur le même serveur ! Aurai-je aussi des contrariété de droit d'un base a l'autre ? :/




    Citation Envoyé par Schaublore Voir le message
    Il faudrai (en plus) que tu indique la description de tes tables:



    pour afficher les ligne: CREATE TABLE...

  8. #8
    Membre actif Avatar de Schaublore
    Homme Profil pro
    Manuel
    Inscrit en
    Octobre 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Manuel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 61
    Par défaut
    T'as essayé la requete qui permet d'afficher tout les produits correspodant à tes critere de recherche ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ID_ean13A FROM `DonnéeA`.`TableProduitA` WHERE `DonnéeA`.`TableProduitA`.`StockA` != `DonnéeB`.`TableProduitB`.`StockB`;
    Je ne peu toujours pas t'aider. Dans ce que tu viens de donner, il manque les/la column ID (PRIMARY KEY) de tes table et le nom des base de donnée (USE)

    @+

  9. #9
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    Bien voilà au complet ^_^

    --
    -- Structure de la table `LV_product`
    --

    CREATE TABLE IF NOT EXISTS `LV_product` (
    `id_product` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `id_supplier` int(10) unsigned DEFAULT NULL,
    `id_manufacturer` int(10) unsigned DEFAULT NULL,
    `id_category_default` int(10) unsigned DEFAULT NULL,
    `id_shop_default` int(10) unsigned NOT NULL DEFAULT '1',
    `id_tax_rules_group` int(11) unsigned NOT NULL,
    `on_sale` tinyint(1) unsigned NOT NULL DEFAULT '0',
    `online_only` tinyint(1) unsigned NOT NULL DEFAULT '0',
    `ean13` varchar(13) DEFAULT NULL,
    `upc` varchar(12) DEFAULT NULL,
    `ecotax` decimal(17,6) NOT NULL DEFAULT '0.000000',
    `quantity` int(10) NOT NULL DEFAULT '0',
    `minimal_quantity` int(10) unsigned NOT NULL DEFAULT '1',
    `price` decimal(20,6) NOT NULL DEFAULT '0.000000',
    `wholesale_price` decimal(20,6) NOT NULL DEFAULT '0.000000',
    `unity` varchar(255) DEFAULT NULL,
    `unit_price_ratio` decimal(20,6) NOT NULL DEFAULT '0.000000',
    `additional_shipping_cost` decimal(20,2) NOT NULL DEFAULT '0.00',
    `reference` varchar(32) DEFAULT NULL,
    `supplier_reference` varchar(32) DEFAULT NULL,
    `location` varchar(64) DEFAULT NULL,
    `width` decimal(20,6) NOT NULL DEFAULT '0.000000',
    `height` decimal(20,6) NOT NULL DEFAULT '0.000000',
    `depth` decimal(20,6) NOT NULL DEFAULT '0.000000',
    `weight` decimal(20,6) NOT NULL DEFAULT '0.000000',
    `out_of_stock` int(10) unsigned NOT NULL DEFAULT '2',
    `quantity_discount` tinyint(1) DEFAULT '0',
    `customizable` tinyint(2) NOT NULL DEFAULT '0',
    `uploadable_files` tinyint(4) NOT NULL DEFAULT '0',
    `text_fields` tinyint(4) NOT NULL DEFAULT '0',
    `active` tinyint(1) unsigned NOT NULL DEFAULT '0',
    `redirect_type` enum('','404','301','302') NOT NULL DEFAULT '',
    `id_product_redirected` int(10) unsigned NOT NULL DEFAULT '0',
    `available_for_order` tinyint(1) NOT NULL DEFAULT '1',
    `available_date` date NOT NULL,
    `condition` enum('new','used','refurbished') NOT NULL DEFAULT 'new',
    `show_price` tinyint(1) NOT NULL DEFAULT '1',
    `indexed` tinyint(1) NOT NULL DEFAULT '0',
    `visibility` enum('both','catalog','search','none') NOT NULL DEFAULT 'both',
    `cache_is_pack` tinyint(1) NOT NULL DEFAULT '0',
    `cache_has_attachments` tinyint(1) NOT NULL DEFAULT '0',
    `is_virtual` tinyint(1) NOT NULL DEFAULT '0',
    `cache_default_attribute` int(10) unsigned DEFAULT NULL,
    `date_add` datetime NOT NULL,
    `date_upd` datetime NOT NULL,
    `advanced_stock_management` tinyint(1) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id_product`),
    KEY `product_supplier` (`id_supplier`),
    KEY `product_manufacturer` (`id_manufacturer`),
    KEY `id_category_default` (`id_category_default`),
    KEY `indexed` (`indexed`),
    KEY `date_add` (`date_add`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2788 ;

    --
    -- Contenu de la table `LV_product`
    --

    INSERT INTO `LV_product` (`id_product`, `id_supplier`, `id_manufacturer`, `id_category_default`, `id_shop_default`, `id_tax_rules_group`, `on_sale`, `online_only`, `ean13`, `upc`, `ecotax`, `quantity`, `minimal_quantity`, `price`, `wholesale_price`, `unity`, `unit_price_ratio`, `additional_shipping_cost`, `reference`, `supplier_reference`, `location`, `width`, `height`, `depth`, `weight`, `out_of_stock`, `quantity_discount`, `customizable`, `uploadable_files`, `text_fields`, `active`, `redirect_type`, `id_product_redirected`, `available_for_order`, `available_date`, `condition`, `show_price`, `indexed`, `visibility`, `cache_is_pack`, `cache_has_attachments`, `is_virtual`, `cache_default_attribute`, `date_add`, `date_upd`, `advanced_stock_management`) VALUES
    (1, 2, 1, 18, 1, 1, 0, 0, '0000000000000', '', '0.000000', 00, 0, '000.000000', '00.000000', '', '0.000000', '0.00', 'AAAAA', 'AAAAA', '', '0.000000', '0.000000', '0.000000', '0.000000', 0, 0, 0, 0, 0, 0, '404', 0, 0, '0000-00-00', 'new', 1, 1, 'both', 0, 0, 0, 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0),

    Et


    --
    -- Structure de la table `LV_product_attribute`
    --

    CREATE TABLE IF NOT EXISTS `LV_product_attribute` (
    `id_product_attribute` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `id_product` int(10) unsigned NOT NULL,
    `reference` varchar(32) DEFAULT NULL,
    `supplier_reference` varchar(32) DEFAULT NULL,
    `location` varchar(64) DEFAULT NULL,
    `ean13` varchar(13) DEFAULT NULL,
    `upc` varchar(12) DEFAULT NULL,
    `wholesale_price` decimal(20,6) NOT NULL DEFAULT '0.000000',
    `price` decimal(20,6) NOT NULL DEFAULT '0.000000',
    `ecotax` decimal(17,6) NOT NULL DEFAULT '0.000000',
    `quantity` int(10) NOT NULL DEFAULT '0',
    `weight` decimal(20,6) NOT NULL DEFAULT '0.000000',
    `unit_price_impact` decimal(17,2) NOT NULL DEFAULT '0.00',
    `default_on` tinyint(1) unsigned NOT NULL DEFAULT '0',
    `minimal_quantity` int(10) unsigned NOT NULL DEFAULT '1',
    `available_date` date NOT NULL,
    PRIMARY KEY (`id_product_attribute`),
    KEY `product_attribute_product` (`id_product`),
    KEY `reference` (`reference`),
    KEY `supplier_reference` (`supplier_reference`),
    KEY `product_default` (`id_product`,`default_on`),
    KEY `id_product_id_product_attribute` (`id_product_attribute`,`id_product`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=8139 ;

    --
    -- Contenu de la table `LV_product_attribute`
    --

    INSERT INTO `LV_product_attribute` (`id_product_attribute`, `id_product`, `reference`, `supplier_reference`, `location`, `ean13`, `upc`, `wholesale_price`, `price`, `ecotax`, `quantity`, `weight`, `unit_price_impact`, `default_on`, `minimal_quantity`, `available_date`) VALUES
    (1, 1, 'AAA', '', '', '0000000000000', '', '0.000000', '0.000000', '0.000000', 1, '0.000000', '0.00', 0, 0, '0000-00-00');

    L'idée " prendre les références ean13 en point de repère Base A pour vérifie et update sur la B

    Punaise dire que j'ai toute les commandes a porté de mains et ne pas savoir m'en servir comme il se doit ça me Grrrr lol
    Limite me dire que j'exploite même pas 15% des possibilité de ce serveur de DB, .... Enfin bref ... Zennnnn ^_^

  10. #10
    Membre actif Avatar de Schaublore
    Homme Profil pro
    Manuel
    Inscrit en
    Octobre 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Manuel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 61
    Par défaut
    Ok, tu utilise le serveur MySQL 5.x et le client phpmyadmin. Et tu utilise Prestashop. Me trompe-je ?

    Remplace DonnéeA et DonnéeB par le nom de tes base de donnée, et dis nous si l'execution de cette requette te retourne des erreur, sinon si elle retourne bien les produit a metre a jour.

    Cette requette doit retourner tout les produit vendu
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `DonnéeA`.`LV_product`.`id_product` FROM `DonnéeA`.`LV_product` WHERE `DonnéeA`.`LV_product`.`quantity` != `DonnéeB`.`LV_product`.`quantity`;

    Cette requette retourne toute les déclinaison vendu du produit
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `DonnéeA`.`LV_product_attribute`.`id_product_attribute` FROM `DonnéeA`.`LV_product_attribute` WHERE `DonnéeA`.`LV_product_attribute`.`quantity` != `DonnéeB`.`LV_product_attribute`.`quantity`;

    Ensuite pour l'écriture, je ne suis pas sûr.

    PS: Fais une copie de ta base de donnée pour faire tes tests...

  11. #11
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    Re Schaublore, :-)

    Oui, c'est bien ça !
    Il existe bien des modules de synchro,
    Ceci dit
    1:J'ai mon dédié et je trouve dommage de ne pas l'exploité,
    2:je désire un moyen plus simple de synchro comme les deux bases sont sur le même serveur,
    3:Bien j'y avais pensé il y a quelques années mais j'ai jamais eu vraiment le temps de le faire :/
    4:Budgetairement limité ! :p

    Maintenant si je serai pas limité, c'est clair que je me casserai pas tant la tête, je déléguerai la travail car j'ai encore beaucoup a faire :/ m'enfin bref ... Pas le choix ou c'est la cata !

    Ok je teste ca, ^_^ Merci
    Néanmoins si je lis bien vous faites pas référence a "une comparaison" des valeurs ean avant mise a jour ?

  12. #12
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    .
    ... Réponse de la requète :

    #1054 - Unknown column 'SyncB.LV_product.quantity' in 'where clause'
    ... :/

  13. #13
    Membre actif Avatar de Schaublore
    Homme Profil pro
    Manuel
    Inscrit en
    Octobre 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Manuel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 61
    Par défaut
    Peut etre en ajoutant ", `SyncB`.`LV_product`" dans la clause FROM.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `DonnéeA`.`LV_product`.`id_product` FROM `DonnéeA`.`LV_product`, `SyncB`.`LV_product` WHERE `DonnéeA`.`LV_product`.`quantity` != `SyncB`.`LV_product`.`quantity`;

  14. #14
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    Donc bien la commande O.o

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `SyncA`.`LV_product`.`id_product` FROM `SyncA`.`LV_product`, `SyncB`.`LV_product` WHERE `SyncA`.`LV_product`.`quantity` != `SyncB`.`LV_product`.`quantity`;

    Requête effectuer ^_^
    Tout est passé juste pas eu le temps de voir :p

  15. #15
    Membre actif Avatar de Schaublore
    Homme Profil pro
    Manuel
    Inscrit en
    Octobre 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Manuel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 61
    Par défaut
    Tu peux essayer de mettre à jour le stock des produits


    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE SyncA.`LV_product_attribute` AS `a_attribute`, SyncB.`LV_product_attribute` AS `b_attribute` SET a_attribute.`quantity` = b_attribute.`quantity` WHERE a_attribute.`id_product_attribute` IN (SELECT a_attribute.`id_product_attribute` FROM a_attribute, b_attribute WHERE a_attribute.`ean13` == b_attribute.`ean13` AND a_attribute.`reference` == b_attribute.`reference` AND a_attribute.`quantity` != b_attribute.`quantity` LIMIT 1)

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE SyncA.`LV_product` AS `a_product`, SyncB.`LV_product` AS `b_product` SET a_product.`quantity` = b_product.`quantity` WHERE a_product.`ean13` IN (SELECT a_product.`ean13` FROM a_product, b_product WHERE a_product.`quantity` != b_product.`quantity` LIMIT 1);

    PS: je ne suis pas sur que ce soit des requette optimisé...

  16. #16
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    J'ai réeffectuer la commande ^_^
    Résultat =
    Affichage des lignes 0 - 24 (total de 949758, Traitement en 0.0005 sec)
    SELECT `SyncA`.`LV_product`.`id_product` FROM `SyncA`.`LV_product`, `SyncB`.`LV_product` WHERE `SyncA`.`LV_product`.`quantity` != `SyncB`.`LV_product`.`quantity`
    En n'oubliant pas de répéré un produit et changer une quantité ... Résultat aucun changement ! ^-^

  17. #17
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    La colonne ean est une série de chiffre exemple : 7200000000006

    Ok je tenterai ça d'ici +/- une heure ... Je vais vite diner sinon M'dame va me tuer

  18. #18
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    .
    ... Diner plus vite que prévu ^-^

    Les deux requêtes lancer et résultat =


    Erreur
    Requête SQL : Documentation


    UPDATE `SyncA`.`LV_product_attribute` AS a_attribute, `SyncB`.`LV_product_attribute` AS b_attribute SET a_attribute.quantity = b_attribute.quantity WHERE a_attribute.ean13 IN (SELECT a_attribute.ean13 FROM a_attribute, b_attribute WHERE a_attribute.`quantity` != b_attribute.`quantity` LIMIT 1)
    MySQL a répondu: Documentation

    #1046 - No database selected

  19. #19
    Membre habitué
    Homme Profil pro
    Actionnaire
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Actionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    .
    Que pensez vous de ce complément de code ??? O.o :/


    Mise à jour champ d'une table à partir d'une autre table [Résolu]

  20. #20
    Membre actif Avatar de Schaublore
    Homme Profil pro
    Manuel
    Inscrit en
    Octobre 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Manuel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2014
    Messages : 61
    Par défaut
    Bien vu,

    Comme ça peut etre ?
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    UPDATE
        `SyncA`.LV_product_attribute AS `a_attribute`,
    INNER JOIN
        `SyncB`.LV_product_attribute AS `b_attribute`
        ON
            a_attribute.`reference` = b_attribute.`reference` AND a_attribute.`ean13` = b_attribute.`ean13`
    SET
        a_attribute.`quantity` = b_attribute.`quantity`
    WHERE
        a_attribute.`quantity` != b_attribute.`quantity`
    LIMIT 1;

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/08/2014, 17h43
  2. Synchroniser deux BD SQL Server sans langage de programmation ?
    Par beegees dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 21/12/2010, 09h07
  3. Programme Synchronisation sur XP
    Par Angeldu74 dans le forum Windows XP
    Réponses: 3
    Dernier message: 19/09/2008, 14h53
  4. Réponses: 2
    Dernier message: 29/03/2007, 17h43
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

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