begin process at 2012 05 26 18:05:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Autre

 > 

Requêtes

 > 

emepcher les doublons des lignes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

emepcher les doublons des lignes

lundi 12 octobre 2009 à 11:13:28 | emepcher les doublons des lignes

abdeslam2009

Bonjour,

j'ai tenté de sélectionner plusieurs champs dans plusieurs tables(jointures) mais le problème que j'ai rencontré les lignes retournées sont doublées.

j'ai utilisé la fonction distinct mais toujours le meme problème voilà la requête et les tables (elles sont en jointures) vous pouvez faire copier et coler les tables dans un editeurs puis executer la requête pour les choses être en calire:

la requete

select consultation_frs.consult_frs_id as consult_frs_id,consult_frs_art.article_id,
fournisseur.fournisseur_id,consultation_frs.consult_ach_id
,article.code_article as code_article,consult_frs_art.qte_consult as qte_consult ,nom_fournisseur,ref_consult,date_consult_frs,etat_consult_f­rs,mode_consult_frs from article,consult_frs_art,consultation_frs,fournisseur,consult­ation_achat where fournisseur.fournisseur_id=consultation_frs.fournisseur_id and consultation_achat.consult_ach_id=consult_frs_art.consult_ac­h_id and article.article_id=consult_frs_art.article_id and consultation_achat.consult_ach_id=consultation_frs.consult_a­ch_id


les tables:vous pouvez faire copier et coler tout ce code
-- ------------------------------------------------------------­---------------------------------------------

-- Structure de la table `article`
--

CREATE TABLE `article` (
`article_id` int(10) NOT NULL auto_increment,
`sous_famille_id` int(10) NOT NULL,
`code_unite` int(10) default NULL,
`code_tva` int(10) default NULL,
`code_article` varchar(10) default NULL,
`designation` varchar(150) default NULL,
`observation` varchar(200) default NULL,
`prix_unitaire` decimal(15,2) default NULL,
PRIMARY KEY (`article_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ;

--
-- Contenu de la table `article`
--

INSERT INTO `article` (`article_id`, `sous_famille_id`, `code_unite`, `code_tva`, `code_article`, `designation`, `observation`, `prix_unitaire`) VALUES
(1, 4, 0, 0, 'A01042', 'SALLE DE TRAITE MODEL KORU SANS MESURE_LAIT, 5 VACHES', 'teste', 150.00),
(2, 4, 0, 0, 'A01041', 'SALLE DE TRAITE MODEL KORU SANS MESURE_LAIT, 4 VACHES', 'AA', 250.00),
(4, 4, 0, 0, 'A01002', 'CHARIOT TRAYEUR BS MINI BEREKET', '', 340.00),
(5, 4, 0, 0, 'A01001', 'CHARIOT TRAYEUR BS MINI X BEREKET', '', 147.00),
(6, 4, 0, 0, 'A01004', 'CHARIOT TRAYEUR BS1 BEREKET', '', 430.00),
(7, 4, 0, 0, 'A01003', 'CHARIOT TRAYEUR BS1 X BEREKET', '', 543.00),
(8, 4, 0, 0, 'A01006', 'CHARIOT TRAYEUR BS3/1 BEREKET', '', 123.00),
(9, 4, 0, 0, 'A01005', 'CHARIOT TRAYEUR BS3/1X BEREKET', '', 65.00),
(10, 4, 0, 0, 'A01008', 'CHARIOT TRAYEUR BS3/2 BEREKET', '', 32.00),
(11, 7, 0, 0, 'B01003', 'AGNOTONIC (25 Kg)', '', 98.00),
(12, 7, 0, 0, 'B01006', 'CREMO ELEVAGE (10 Kg)', '', 98.00),
(13, 7, 0, 0, 'B01005', 'CREMO ELEVAGE (25 Kg)', '', 98.00),
(14, 7, 0, 0, 'B01004', 'VODOR ONE (25 Kg)', '', 98.00),
(15, 7, 0, 0, 'B01002', 'VODOR TA (10 Kg)', '', 98.00),
(16, 7, 0, 0, 'B01001', 'VODOR TA (25 Kg)', '', 563.00);



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

--
-- Structure de la table `consultation_achat`
--

CREATE TABLE `consultation_achat` (
`consult_ach_id` int(10) NOT NULL auto_increment,
`ref_consult_ach` varchar(10) default NULL,
`date_consult_ach` date default NULL,
`etat_consult_ach` varchar(20) default NULL,
`date_etat` date default NULL,
PRIMARY KEY (`consult_ach_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=26 ;

--
-- Contenu de la table `consultation_achat`
--

INSERT INTO `consultation_achat` (`consult_ach_id`, `ref_consult_ach`, `date_consult_ach`, `etat_consult_ach`, `date_etat`) VALUES
(25, 'CA001', '2009-12-12', 'Creee', '2009-12-12');

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

--
-- Structure de la table `consultation_frs`
--

CREATE TABLE `consultation_frs` (
`consult_ach_id` int(10) NOT NULL,
`fournisseur_id` int(10) NOT NULL,
`consult_frs_id` int(10) NOT NULL,
`ref_consult` varchar(15) default NULL,
`date_consult_frs` date default NULL,
`etat_consult_frs` varchar(100) default NULL,
`mode_consult_frs` varchar(50) default NULL,
`reponse_frs` varchar(50) default NULL,
`date_reponse` date default NULL,
PRIMARY KEY (`consult_ach_id`,`fournisseur_id`,`consult_frs_id`),
KEY `Consultation_Achat_FK2` (`consult_ach_id`),
KEY `Fournisseur_FK` (`fournisseur_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `consultation_frs`
--

INSERT INTO `consultation_frs` (`consult_ach_id`, `fournisseur_id`, `consult_frs_id`, `ref_consult`, `date_consult_frs`, `etat_consult_frs`, `mode_consult_frs`, `reponse_frs`, `date_reponse`) VALUES
(25, 4, 1, 'RF001', '2009-12-13', 'Creee', 'Telephone', NULL, NULL),
(25, 4, 2, 'RF001', '2009-12-13', 'Creee', 'Telephone', NULL, NULL),
(25, 4, 3, 'RF001', '2009-12-13', 'Creee', 'Telephone', NULL, NULL);

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

--
-- Structure de la table `consult_frs_art`
--

CREATE TABLE `consult_frs_art` (
`consult_ach_id` int(10) NOT NULL,
`article_id` int(10) NOT NULL,
`qte_consult` decimal(5,2) default NULL,
PRIMARY KEY (`consult_ach_id`,`article_id`),
KEY `Consultation_Achat_FK` (`consult_ach_id`),
KEY `Article_FK2` (`article_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `consult_frs_art`
--

INSERT INTO `consult_frs_art` (`consult_ach_id`, `article_id`, `qte_consult`) VALUES
(25, 7, 23.00),
(25, 10, 12.00),
(25, 13, 10.00);

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

--
-- Structure de la table `fournisseur`
--

CREATE TABLE `fournisseur` (
`fournisseur_id` int(10) NOT NULL auto_increment,
`nom_fournisseur` varchar(50) NOT NULL,
`activite` varchar(100) default NULL,
`raison_sociale` varchar(50) default NULL,
`categorie` varchar(30) default NULL,
`adresse` varchar(30) default NULL,
`code_postal` varchar(20) default NULL,
`ville` varchar(30) default NULL,
`pays` varchar(20) default NULL,
`contact` varchar(20) default NULL,
`interlocuteur` varchar(20) default NULL,
`telephone` varchar(10) default NULL,
`mobile` varchar(10) default NULL,
`email` varchar(30) default NULL,
`web` varchar(20) default NULL,
`mode_paiement_prefere` varchar(20) default NULL,
PRIMARY KEY (`fournisseur_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

--
-- Contenu de la table `fournisseur`
--

INSERT INTO `fournisseur` (`fournisseur_id`, `nom_fournisseur`, `activite`, `raison_sociale`, `categorie`, `adresse`, `code_postal`, `ville`, `pays`, `contact`, `interlocuteur`, `telephone`, `mobile`, `email`, `web`, `mode_paiement_prefere`) VALUES
(1, '3S', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '05 22 99 2', NULL, NULL, NULL, NULL),
(2, 'AGRIDEV', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(3, 'AGSOL', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(4, 'AMAZON VERTE', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(5, 'BELGOMA', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(6, 'BRENNTAG', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(7, 'BRIOR', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(8, 'CADILHAK', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(9, 'CAPFI', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '00 22 40 7', NULL, NULL, NULL, NULL),
(10, 'CASA-MEDICAL', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(11, 'CASAPERLA', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(12, 'CLINICA', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
mercredi 21 octobre 2009 à 13:53:44 | Re : emepcher les doublons des lignes

youhibadelphi


Salut
Je te propose de bien vérifier la partie where dans l'instruction.
......
La question doit être simple et claire pour attirer des réponse et solutions
.
yahia
mercredi 21 octobre 2009 à 15:56:06 | Re : emepcher les doublons des lignes

JeremyLecouvert

Bonjour,

J'ai copié les tables et exécuté ta requête... Il n'y a pas de doublons, on obtient 3 lignes pour chaque article parce qu'il y a 3 "consultation_frs.consult_frs_id" différents.


Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)


Cette discussion est classée dans : id, default, varchar, frs, consult


Répondre à ce message

Sujets en rapport avec ce message

Requete utilisant un IF (?) [ par Gamer_man ] Bonjour :)J'ai un petit probleme avec une requete...J'explique un peu :Sur mon site, il est possible de poster des commentaires en etant membre ou en erreur : a foreign key constraint fails !!!! [ par vinz78 ] -- phpMyAdmin SQL Dump-- version 2.10.1-- http://www.phpmyadmin.net-- -- Serveur: localhost-- Généré le : Jeu 21 Juin 2007 à 10:53-- Version du serveu probleme pour creer le contenu de ma base de donne [ par laloire33150 ] voici mon soucis, je travail avec phpmyadmin et je rentre ma requete dans une fenetre sql et voici l'erreur qu'elle me sort : requête SQL: -- ----- inserer un tableaux sql [ par mathkas ] salut , comment je pourrais inserer ses tableaux à sql il le voilà code php $sql_array = array( 'DROP TABLE IF EXISTS ' . SMIXMODS_FEED_NEWS_CENTER Pbm de foreign key pas prises en compte [ par romca ] Salut voilà j'ai un pbm sous ma distrib mes foreign key ne sont pas pris en compte et pourtant j'ai aucune erreur.<?xml:namespace prefix = o ns = "urn ERREUR ERNO 150 CLE ETRANGERE [ par didygwatinik ] Bonjour, J'ai une erreue dans la création de ma table notertexte, apparement c'est un problème avec les clés étrangères : j'obtiens l'erreur : Can't c #1005 - Can't create table 'Texloud.tree_elements' (errno: 150) [ par stade13 ] Le bien bonjour à toutes et à tous, voilà j'arrive pas à crée deux tables avec clef étranger voilà mon code CREATE TABLE IF NOT EXISTS `utilisateur` [sql] probleme pour creer des tables avec foreign key [ par jerrrrrry ] bonjour à tous je cherche à creer une requete sql pour creer deux tables catégorie et sous catégorie la table catégorie contient les champs id et name Erreur inconnu lors d'une requete d'ajout [ par alucard02 ] BonjourJe bloque devant cette requette simple qui permet l'enregistrement de nouveaux membres :$q1 = "insert into classmates_members set               Requête tri par date [ par coyote_fx ] Bonjour à tous,voilà je dois composer une requête dynamique de recherche sur une table de ma base de données (COMMANDES):Exemple de syntaxe de ma requ


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,761 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales