Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour à tous,
Je découvre les jointures Mysql, un vrai bonheur !
En fait, pour le moment, je n'utilise que INNER JOIN mais j'ai un souci.
Je voudrais comparer des résultats d'inventaires, j'ai dans la table "ancien_stock" les produits qui étaient en stocks avant l'ouverture de l'inventaire et dans l'autre table "nouveau_stock", les produits qui ont été effectivement comptés et donc ajoutés à cette table "nouveau_stock".
Comment puis-je comparer ces deux tables à la fin de l'inventaire pour afficher les écarts d'inventaires ? (exemple : le produit 125 était présent dans l'ancien stock mais pas dans le nouveau, merci de vérifier)
Si j'utilise INNER JOIN, je n'aurais aucun résultat puisque 125 n'a pas été trouvé dans le nouveau stock ...
Pourriez vous m'aidez sur ce point s'il vous plaît ?
Merci à tous,
Antho
Hors ligne
Saluton,
C'est là que LEFT JOIN va pouvoir t'aider.
Si tu fournis la structure des tables (Résultat d'un SHOW CREATE TABLE sur chacune des tables) je pense pouvoir te proposer un début de solution.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour Maljuna et pardon pour le délais de réponse...
Voici le résultat du show demandé:
Sur table ancien stock:
CREATE TABLE `ancien_stock` (\n `id` int(16) NOT NULL auto_increment,\n `code_barre` int(15) NOT NULL default '0',\n `num_serie` varchar(255) NOT NULL default '0',\n `modele` varchar(150) NOT NULL default '',\n `pn_formex` varchar(100) NOT NULL default '',\n `numero_bl` varchar(150) NOT NULL default '',\n `date_reception` datetime NOT NULL default '0000-00-00 00:00:00',\n `date_creation` datetime NOT NULL default '0000-00-00 00:00:00',\n `id_fournisseur` int(16) NOT NULL default '0',\n `grade` char(1) NOT NULL default '',\n `etat` enum('ESTOCK','HSTOCK','REPAR') NOT NULL default 'ESTOCK',\n `contenu` varchar(200) NOT NULL default '',\n `remarque` mediumtext NOT NULL,\n `photo` varchar(150) NOT NULL default '',\n `PVHT` int(11) NOT NULL default '0',\n `typologie` enum('OCCAS','RECON','NEUF') NOT NULL default 'OCCAS',\n `diff_config` mediumtext NOT NULL,\n `date_expedition` datetime NOT NULL default '0000-00-00 00:00:00',\n `numero_be` varchar(150) NOT NULL default '',\n `id_fournisseur_expedition` int(10) NOT NULL default '0',\n UNIQUE KEY `num_serie` (`num_serie`),\n KEY `id` (`id`,`num_serie`,`numero_bl`,`id_fournisseur`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='TABLE DES ANCIENS PRODUITS'
Sur table nouveau_stock:
CREATE TABLE `laptopservice_inventaire` (\n `id` int(16) NOT NULL auto_increment,\n `id_produit` int(15) NOT NULL default '0',\n `etat` char(1) NOT NULL default '1',\n KEY `id` (`id`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='INVENTAIRE'
Merci pour ton aide
Antho
Hors ligne
Ça sera sûrement plus lisible comme ça
CREATE TABLE `laptopservice_inventaire` (`id` INT(16) NOT NULL AUTO_INCREMENT,
`id_produit` INT(15) NOT NULL DEFAULT '0',
`etat` CHAR(1) NOT NULL DEFAULT '1',
KEY `id` (`id`)
)
ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='INVENTAIRE'
Je regarderai cela ce soir, là je n'ai pas le temps.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
si dans la table laptopservice_inventaire il faut faire porter la jointure avec la table ancien_stock comme décrit ci-dessus.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Pages :: 1