affichage d'éléments n'ont présents dans la BdD principale

Eléphant du PHP | 289 Messages

17 nov. 2005, 08:45

Bonjour,

G essayer d'adapter vos exemples a mon cas mais je crois que le fait de faire appel a plusieres tables génerent un pb! :oops:

Voici comment je procede:
table elements----\
...........................---> table expertise
table defauts------/

en fait, je cherche a compter, par elements, le nombre de fois qu'ils apparaissent dans la base mais en spécifiant le défaut (par expertise.defaut = 2 par exemple, dans ce cas, je compte le nombre de fois que g chaque element pour le defaut 2 qui est cassé))

Je me permets de fournir les tables (c pê + simple pour vous pour mieux comprendre)

TABLE DEFAUT:
# phpMyAdmin SQL Dump
# version 2.5.3
# http://www.phpmyadmin.net
#
# Serveur: localhost
# Généré le : Jeudi 17 Novembre 2005 à 07:33
# Version du serveur: 4.0.15
# Version de PHP: 4.3.3
#
# Base de données: `ateliermeca`
#

# --------------------------------------------------------

#
# Structure de la table `defaut`
#

CREATE TABLE `defaut` (
`ID` mediumint(3) NOT NULL auto_increment,
`Description` text NOT NULL,
`Heure` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=41 ;

#
# Contenu de la table `defaut`
#

INSERT INTO `defaut` VALUES (1, '- Choisissez un défaut -', '0000-00-00 00:00:00');
INSERT INTO `defaut` VALUES (2, 'Cassé', '0000-00-00 00:00:00');
INSERT INTO `defaut` VALUES (3, 'Rouillé', '0000-00-00 00:00:00');
INSERT INTO `defaut` VALUES (4, 'Tordu', '0000-00-00 00:00:00');
INSERT INTO `defaut` VALUES (5, 'Voilé', '0000-00-00 00:00:00');
INSERT INTO `defaut` VALUES (17, 'Abimé', '2005-02-23 09:25:31');
INSERT INTO `defaut` VALUES (16, 'HS', '2005-02-23 09:25:07');
INSERT INTO `defaut` VALUES (15, 'Vrillé', '2005-02-10 11:38:21');
INSERT INTO `defaut` VALUES (18, 'Grippé', '2005-02-23 14:54:23');
INSERT INTO `defaut` VALUES (19, 'Indémontable', '2005-02-23 14:57:00');
INSERT INTO `defaut` VALUES (20, 'Rayé', '2005-03-22 11:40:51');
INSERT INTO `defaut` VALUES (21, 'Usé', '2005-04-07 15:12:30');
INSERT INTO `defaut` VALUES (22, 'Encrassé', '2005-04-11 08:19:44');
INSERT INTO `defaut` VALUES (23, 'Corodé', '2005-04-28 14:43:37');
INSERT INTO `defaut` VALUES (24, 'Jeu important', '2005-04-28 15:44:05');
INSERT INTO `defaut` VALUES (25, 'Piqué', '2005-04-28 16:26:44');
INSERT INTO `defaut` VALUES (26, 'FUITE GM QUAND LA POMPE TOURNE ', '2005-06-17 15:11:47');
INSERT INTO `defaut` VALUES (27, 'FUITE GM QUAND LA POMPE TOURNE ', '2005-06-17 15:11:47');
INSERT INTO `defaut` VALUES (28, 'Fuite à la GM quand la pompe tourne ', '2005-06-17 15:13:58');
INSERT INTO `defaut` VALUES (29, 'Fuite à la GM quand la pompe tourne ', '2005-06-17 15:14:41');
INSERT INTO `defaut` VALUES (30, 'Leger jeu rlt', '2005-07-04 16:19:21');
INSERT INTO `defaut` VALUES (31, 'Faire modif pour reglage ppe ', '2005-07-04 16:20:56');
INSERT INTO `defaut` VALUES (32, 'joint flasque arrière HS', '2005-07-19 16:13:19');
INSERT INTO `defaut` VALUES (33, 'Laminé par le produit', '2005-07-22 12:01:34');
INSERT INTO `defaut` VALUES (34, 'Entartré', '2005-08-01 08:20:03');
INSERT INTO `defaut` VALUES (35, 'jeu joint eau important', '2005-08-03 09:14:41');
INSERT INTO `defaut` VALUES (36, 'Fendue', '2005-08-09 11:45:46');
INSERT INTO `defaut` VALUES (37, 'Bruillante', '2005-10-04 16:18:18');
INSERT INTO `defaut` VALUES (38, 'Percé', '2005-10-05 11:53:16');
INSERT INTO `defaut` VALUES (39, ' Defaut Orientation ', '2005-10-05 14:34:23');
INSERT INTO `defaut` VALUES (40, 'Fuite d huile', '2005-11-02 11:43:42');
TABLE ELEMENTS:
# phpMyAdmin SQL Dump
# version 2.5.3
# http://www.phpmyadmin.net
#
# Serveur: localhost
# Généré le : Jeudi 17 Novembre 2005 à 07:32
# Version du serveur: 4.0.15
# Version de PHP: 4.3.3
#
# Base de données: `ateliermeca`
#

# --------------------------------------------------------

#
# Structure de la table `elements`
#

CREATE TABLE `elements` (
`ID` mediumint(4) NOT NULL auto_increment,
`Details` text NOT NULL,
`Heure` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=50 ;

#
# Contenu de la table `elements`
#

INSERT INTO `elements` VALUES (1, '- Choisissez un élément -', '0000-00-00 00:00:00');
INSERT INTO `elements` VALUES (2, 'Arbre', '0000-00-00 00:00:00');
INSERT INTO `elements` VALUES (3, 'Clavette', '0000-00-00 00:00:00');
INSERT INTO `elements` VALUES (4, 'Roue', '2005-02-09 07:55:07');
INSERT INTO `elements` VALUES (5, 'Garniture mecanique', '2005-02-23 09:26:00');
INSERT INTO `elements` VALUES (6, 'Bourrage', '2005-02-23 09:26:14');
INSERT INTO `elements` VALUES (7, 'Roulements', '2005-02-23 09:26:40');
INSERT INTO `elements` VALUES (8, 'JOINT EAU AV', '2005-02-23 10:20:44');
INSERT INTO `elements` VALUES (9, 'JOINT EAU AR ', '2005-02-23 10:21:04');
INSERT INTO `elements` VALUES (10, 'Chemise', '2005-02-23 14:52:42');
INSERT INTO `elements` VALUES (11, 'Ensemble corps,roue,flasque ', '2005-02-23 14:55:39');
INSERT INTO `elements` VALUES (12, 'Ensemble mecanique', '2005-02-23 14:56:14');
INSERT INTO `elements` VALUES (13, 'Bride de ref', '2005-03-07 09:59:34');
INSERT INTO `elements` VALUES (14, 'Bride entré', '2005-03-07 09:59:59');
INSERT INTO `elements` VALUES (15, 'Volute ', '2005-03-07 10:00:47');
INSERT INTO `elements` VALUES (16, 'Flasque AR', '2005-03-07 10:01:07');
INSERT INTO `elements` VALUES (17, 'Porte grain ', '2005-03-07 10:01:47');
INSERT INTO `elements` VALUES (18, 'Logement joint bague levre', '2005-03-21 11:40:51');
INSERT INTO `elements` VALUES (19, 'Flasque AV', '2005-03-21 11:41:53');
INSERT INTO `elements` VALUES (20, 'Corps', '2005-03-21 11:42:59');
INSERT INTO `elements` VALUES (21, 'bati', '2005-04-04 10:55:50');
INSERT INTO `elements` VALUES (22, 'Presse étoupe', '2005-04-07 10:37:19');
INSERT INTO `elements` VALUES (23, 'Lanterne', '2005-04-07 10:37:29');
INSERT INTO `elements` VALUES (24, 'Logement du bourrage', '2005-04-07 10:41:30');
INSERT INTO `elements` VALUES (25, 'Doigts acc', '2005-04-07 11:43:36');
INSERT INTO `elements` VALUES (26, 'clapet asp ou ref', '2005-04-07 15:12:50');
INSERT INTO `elements` VALUES (27, 'Palier', '2005-04-07 15:47:33');
INSERT INTO `elements` VALUES (28, 'Flasque', '2005-04-15 11:45:16');
INSERT INTO `elements` VALUES (29, 'Goujons', '2005-05-09 13:31:03');
INSERT INTO `elements` VALUES (30, 'Boitier à GM', '2005-05-12 14:51:40');
INSERT INTO `elements` VALUES (31, 'Ecrous de roue ', '2005-05-12 15:43:01');
INSERT INTO `elements` VALUES (32, 'Couvercle de palier ', '2005-05-26 14:05:31');
INSERT INTO `elements` VALUES (33, 'Coussinet ', '2005-05-26 14:06:42');
INSERT INTO `elements` VALUES (34, 'Tube de liaison ', '2005-06-14 10:28:26');
INSERT INTO `elements` VALUES (35, 'Arcade ', '2005-06-14 11:40:08');
INSERT INTO `elements` VALUES (36, 'Boite de refroidissement', '2005-06-16 14:07:15');
INSERT INTO `elements` VALUES (37, 'accouplement', '2005-06-17 16:09:36');
INSERT INTO `elements` VALUES (38, 'Stator', '2005-06-22 15:23:13');
INSERT INTO `elements` VALUES (39, 'Rotor', '2005-06-22 15:23:25');
INSERT INTO `elements` VALUES (40, 'Soufflet', '2005-06-22 15:23:42');
INSERT INTO `elements` VALUES (41, 'Bielle', '2005-07-19 09:59:43');
INSERT INTO `elements` VALUES (42, 'Canon', '2005-08-03 09:14:07');
INSERT INTO `elements` VALUES (43, 'boites à rlts', '2005-08-26 13:55:55');
INSERT INTO `elements` VALUES (44, 'Fourreau de pe ', '2005-08-31 13:38:28');
INSERT INTO `elements` VALUES (45, 'Joint eau volute', '2005-09-15 07:49:43');
INSERT INTO `elements` VALUES (46, 'Joint eau canon', '2005-09-15 07:50:03');
INSERT INTO `elements` VALUES (47, 'Tube de sortie ', '2005-09-15 07:53:25');
INSERT INTO `elements` VALUES (48, 'Pompe Complette HS', '2005-09-19 14:54:41');
INSERT INTO `elements` VALUES (49, 'Tube arrosge GM ', '2005-10-10 11:38:16');
TABLE EXPERTISE:
# phpMyAdmin SQL Dump
# version 2.5.3
# http://www.phpmyadmin.net
#
# Serveur: localhost
# Généré le : Jeudi 17 Novembre 2005 à 07:33
# Version du serveur: 4.0.15
# Version de PHP: 4.3.3
#
# Base de données: `ateliermeca`
#

# --------------------------------------------------------

#
# Structure de la table `expertise`
#

CREATE TABLE `expertise` (
`ID` bigint(5) NOT NULL auto_increment,
`Numdossier` varchar(10) NOT NULL default '',
`Element` text NOT NULL,
`Defaut` text NOT NULL,
`Commentaire` text NOT NULL,
`Heure` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=754 ;

#
# Contenu de la table `expertise`
#

INSERT INTO `expertise` VALUES (28, '48', '13', '17', '/', '2005-03-07 10:04:13');
INSERT INTO `expertise` VALUES (27, '48', '16', '17', 'grippe sur la chemise', '2005-03-07 10:03:46');
INSERT INTO `expertise` VALUES (26, '48', '2', '17', '/', '2005-03-07 10:02:50');
INSERT INTO `expertise` VALUES (25, '48', '5', '16', 'GM double', '2005-03-07 09:57:32');
INSERT INTO `expertise` VALUES (24, '49', '10', '17', 'toilage de la chemise', '2005-02-23 14:59:50');
INSERT INTO `expertise` VALUES (23, '49', '11', '18', 'démontage difficile', '2005-02-23 14:58:28');
INSERT INTO `expertise` VALUES (22, '49', '5', '17', 'RODAGE ATM', '2005-02-23 14:50:31');
INSERT INTO `expertise` VALUES (21, '45', '5', '16', 'APRES RODAGE GM HS', '2005-02-23 14:43:37');
INSERT INTO `expertise` VALUES (20, '45', '5', '17', '/', '2005-02-23 09:29:06');
INSERT INTO `expertise` VALUES (30, '58', '8', '16', 'USURE IMPORTANTE JEU + 3mm', '2005-03-21 11:33:54');
INSERT INTO `expertise` VALUES (29, '58', '14', '17', '/', '2005-03-21 11:32:13');
INSERT INTO `expertise` VALUES (31, '58', '5', '2', '/', '2005-03-21 11:34:27');
INSERT INTO `expertise` VALUES (32, '58', '10', '17', 'rayé par la GM (toilage)', '2005-03-21 11:36:00');
INSERT INTO `expertise` VALUES (33, '52', '12', '16', 'rlts hs', '2005-03-21 11:37:32');
INSERT INTO `expertise` VALUES (34, '52', '18', '17', 'Alesage trop important de la bague levre', '2005-03-21 11:48:25');
INSERT INTO `expertise` VALUES (35, '51', '4', '17', 'Trace de frotement sur les coprs', '2005-03-21 11:50:44');
INSERT INTO `expertise` VALUES (36, '51', '6', '16', '/', '2005-03-21 11:51:13');
INSERT INTO `expertise` VALUES (37, '51', '20', '17', 'Corps rayé du au frotement contre les roues', '2005-03-21 11:52:42');
INSERT INTO `expertise` VALUES (38, '51', '11', '3', 'Sablage', '2005-03-21 11:54:08');
INSERT INTO `expertise` VALUES (39, '53', '14', '17', '/', '2005-03-21 13:45:09');
INSERT INTO `expertise` VALUES (40, '53', '2', '16', 'Rouillé + corrosion importante', '2005-03-21 14:14:56');
INSERT INTO `expertise` VALUES (41, '53', '5', '2', '/', '2005-03-21 14:15:56');
INSERT INTO `expertise` VALUES (42, '53', '17', '17', 'portée de joint et fond piqué', '2005-03-21 14:17:34');
INSERT INTO `expertise` VALUES (43, '52', '5', '16', 'Usure importante au niveau du joint torique', '2005-03-21 15:18:00');
INSERT INTO `expertise` VALUES (44, '50', '6', '16', '/', '2005-03-22 11:39:37');
INSERT INTO `expertise` VALUES (45, '50', '10', '20', 'toilage de la chemise', '2005-03-22 11:41:36');
INSERT INTO `expertise` VALUES (46, '55', '2', '16', '/', '2005-03-22 11:49:51');
INSERT INTO `expertise` VALUES (47, '55', '10', '20', 'reprise au tour', '2005-03-22 11:53:42');
INSERT INTO `expertise` VALUES (48, '55', '12', '16', '/', '2005-03-22 11:54:02');
INSERT INTO `expertise` VALUES (49, '55', '5', '16', '/', '2005-03-22 11:54:20');
INSERT INTO `expertise` VALUES (50, '54', '10', '16', '/', '2005-03-22 11:58:03');
INSERT INTO `expertise` VALUES (51, '54', '12', '16', '/', '2005-03-22 11:58:32');
INSERT INTO `expertise` VALUES (52, '54', '5', '16', '/', '2005-03-22 11:58:52');
INSERT INTO `expertise` VALUES (53, '56', '5', '2', '/', '2005-03-23 16:33:44');
INSERT INTO `expertise` VALUES (54, '56', '10', '17', 'abimé sous le joint de la GM', '2005-03-23 16:34:29');
INSERT INTO `expertise` VALUES (55, '56', '7', '16', 'bruiyant + jeu important', '2005-03-23 16:35:26');
INSERT INTO `expertise` VALUES (56, '59', '5', '16', 'Cassé', '2005-03-29 15:18:39');
INSERT INTO `expertise` VALUES (57, '66', '5', '2', '/', '2005-04-01 14:28:05');
INSERT INTO `expertise` VALUES (58, '66', '3', '3', 'usure importante trop de jeu', '2005-04-01 14:28:48');
INSERT INTO `expertise` VALUES (59, '66', '2', '3', 'usé par la corosion', '2005-04-01 14:30:09');
INSERT INTO `expertise` VALUES (60, '66', '4', '5', '/', '2005-04-01 14:30:25');
INSERT INTO `expertise` VALUES (61, '66', '16', '5', '/', '2005-04-01 14:30:53');
INSERT INTO `expertise` VALUES (62, '66', '10', '3', '/rongé par la rouille', '2005-04-01 14:31:31');
INSERT INTO `expertise` VALUES (63, '66', '18', '3', 'trop de jeu', '2005-04-01 14:33:03');
INSERT INTO `expertise` VALUES (64, '66', '11', '18', 'demontage tres difficile grippé et rouillé', '2005-04-01 14:33:58');
INSERT INTO `expertise` VALUES (65, '66', '17', '20', 'rayé au niveau du joint', '2005-04-01 14:34:54');
INSERT INTO `expertise` VALUES (66, '69', '5', '20', 'usure trop importante pour rodage', '2005-04-01 14:48:11');
INSERT INTO `expertise` VALUES (67, '69', '12', '16', 'jeu important au roulement', '2005-04-01 14:51:18');
INSERT INTO `expertise` VALUES (68, '69', '10', '20', 'toilage', '2005-04-01 14:52:21');
INSERT INTO `expertise` VALUES (69, '69', '2', '20', 'toilage', '2005-04-01 14:52:44');
INSERT INTO `expertise` VALUES (70, '67', '10', '20', 'toilage', '2005-04-01 15:04:46');
INSERT INTO `expertise` VALUES (71, '67', '5', '17', 'usure importante + joint de GM detruit', '2005-04-01 15:33:43');
INSERT INTO `expertise` VALUES (72, '67', '5', '17', 'usure importante + joint de GM detruit', '2005-04-01 15:33:43');
INSERT INTO `expertise` VALUES (73, '65', '3', '16', '/', '2005-04-04 10:52:25');
INSERT INTO `expertise` VALUES (74, '65', '7', '16', '/', '2005-04-04 10:52:46');
INSERT INTO `expertise` VALUES (75, '65', '16', '16', '/', '2005-04-04 10:53:17');
INSERT INTO `expertise` VALUES (76, '65', '19', '16', '/', '2005-04-04 10:53:34');
INSERT INTO `expertise` VALUES (77, '65', '4', '17', '/', '2005-04-04 10:53:48');
INSERT INTO `expertise` VALUES (78, '65', '2', '16', '/', '2005-04-04 10:54:03');
INSERT INTO `expertise` VALUES (79, '65', '21', '2', '/', '2005-04-04 10:56:17');
INSERT INTO `expertise` VALUES (80, '70', '10', '3', 'CORROSION/', '2005-04-07 09:17:40');
INSERT INTO `expertise` VALUES (81, '70', '3', '16', '/', '2005-04-07 09:17:59');
INSERT INTO `expertise` VALUES (82, '70', '6', '16', '/', '2005-04-07 10:33:12');
INSERT INTO `expertise` VALUES (83, '70', '7', '16', '/', '2005-04-07 10:33:41');
INSERT INTO `expertise` VALUES (84, '70', '4', '5', '/', '2005-04-07 10:34:05');
INSERT INTO `expertise` VALUES (85, '70', '16', '3', 'GRIPPE SUSURE IMPORTANTE', '2005-04-07 10:34:49');
INSERT INTO `expertise` VALUES (86, '70', '15', '3', '/SABALAGE TRES DIFFICILE', '2005-04-07 10:35:34');
INSERT INTO `expertise` VALUES (87, '70', '22', '2', '/', '2005-04-07 10:39:15');
INSERT INTO `expertise` VALUES (88, '70', '23', '16', '/usé trop de jeu', '2005-04-07 10:40:02');
INSERT INTO `expertise` VALUES (89, '70', '24', '3', '/corrosion tres importante', '2005-04-07 10:43:35');
INSERT INTO `expertise` VALUES (90, '74', '5', '17', '/Rongé par le produit', '2005-04-07 11:42:15');
INSERT INTO `expertise` VALUES (91, '74', '10', '20', '/toilage de la chemise', '2005-04-07 11:42:42');
INSERT INTO `expertise` VALUES (92, '74', '25', '16', '/', '2005-04-07 11:43:51');
INSERT INTO `expertise` VALUES (93, '77', '5', '2', '/', '2005-04-07 14:58:41');
INSERT INTO `expertise` VALUES (94, '77', '11', '18', '/', '2005-04-07 14:59:04');
INSERT INTO `expertise` VALUES (95, '77', '16', '17', '/', '2005-04-07 15:05:09');
INSERT INTO `expertise` VALUES (96, '61', '5', '2', '/', '2005-04-07 15:06:56');
INSERT INTO `expertise` VALUES (97, '61', '12', '16', '/', '2005-04-07 15:08:08');
INSERT INTO `expertise` VALUES (98, '61', '4', '17', '/USURE IMPORTANTE DES AUBES VU PAR SLV\r\nREMONTAGE DE LA ROUE USE AVEC ACCORD SLV \r\n', '2005-04-07 15:11:59');
INSERT INTO `expertise` VALUES (99, '61', '26', '21', '/reparation des 2 clapets', '2005-04-07 15:13:50');
Merci de votre aide,
FAb
je dois être la seule souris au monde qui ne fait pas peur aux néléphants ! :=)

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

17 nov. 2005, 16:02

J'ai regardé tes tables et compris les fonctionnement de ta base et de ta requête et je vais te proposer une solution :

Tu veux afficher la description (ce que tu appelles "Detalis") de tous les éléments enregistrés et au cas où un élément a subi une expertise : la description du défaut et le nombre de fois qu'il est constaté

En plus, cette requête doit concerner en fait seulement le défaut de type 2 (c'est à dire les éléments cassés)

Hé bien répondons petit à petit à cette requête.
1.Voici d'abord la liste des descriptions des éléments enregistrés :

Code : Tout sélectionner

SELECT elements.Details as élément FROM elements
2.Voici la liste des éléments qui ont subi une expertise :

Code : Tout sélectionner

SELECT elements.Details as élément FROM elements JOIN expertise ON elements.ID=expertise.Element
3. Enrichir la liste 2 en précisant la description du défaut constaté par l'expertise (cette description se trouve dans la table defaut qu'il faut lier alors à expertise):

Code : Tout sélectionner

SELECT elements.Details as élément, defaut.Description as défaut FROM elements JOIN (expertise JOIN defaut ON expertise.Defaut = defaut.ID) ON elements.ID=expertise.Element
NB: La formulation des jointures dans la clause FROM respecte un ordre précis de liaison entre les tables impliquées. ici on peut lire ces jointure comme suit :
"La table éléments est liée à la table expertise qui est elle même liée à la table defaut."

4. Inclure aussi dans la liste 3 les éléments qui n'ont pas subi d'expertise (il faut utiliser une jointure externe à gauche entre la table elements et expertise tout en concervant intact le lien entre cette dernière et la table defaut) :

Code : Tout sélectionner

SELECT elements.Details as élément, defaut.Description as défaut FROM elements LEFT OUTER JOIN (expertise JOIN defaut ON expertise.Defaut = defaut.ID) ON elements.ID=expertise.Element
5. Restreindre la liste 4 aux éléments ayant subi un défaut de type 2 (élément Cassé) et à ceux non expertisés pour respecter l'étape 4 (en effet, si on limite la liste seulement aux défauts de types 2, les éléments non expertisés ne seront plus pris en compte vu qu'ils n'ont pas de défaut du tout. Pour palier à ce problème, il faut accepter aussi les défauts nuls) :

Code : Tout sélectionner

SELECT elements.Details as élément, defaut.Description as défaut FROM elements LEFT OUTER JOIN (expertise JOIN defaut ON expertise.Defaut = defaut.ID) ON elements.ID=expertise.Element WHERE defaut.id = 2 or defaut.id is null
6. Compter le nombre de fois un même défaut est constaté pour le même élément (il faut utiliser un COUNT(defaut.id) qui compte les défauts en regrouppant les éléments par déscription) :

Code : Tout sélectionner

SELECT elements.Details as élément, defaut.Description as défaut, count(defaut.iD) as nombre FROM elements LEFT OUTER JOIN (expertise JOIN defaut ON expertise.Defaut = defaut.ID) on elements.ID=expertise.Element WHERE defaut.id = 2 or defaut.id is null GROUP BY elements.Details, defaut.Description
7. et enfin ajouter un classement des déscriptions des éléments par ordre croissant (un ORDER BY):

Code : Tout sélectionner

SELECT elements.Details as élément, defaut.Description as défaut, count(defaut.iD) as nombre FROM elements LEFT OUTER JOIN (expertise JOIN defaut ON expertise.Defaut = defaut.ID) on elements.ID=expertise.Element WHERE defaut.id = 2 or defaut.id is null GROUP BY elements.Details, defaut.Description ORDER BY elements.Details
Et voilà ta requête en 7 étapes expliquées.

Pratique :
cette requête t'affiche normalement le résultat suivant selon ta base de données :
  • élément défaut nombre
    --------------------------------------------------
    - Choisissez un élément - NULL 0
    accouplement NULL 0
    Arcade NULL 0
    bati Cassé 1
    Bielle NULL 0
    Boite de refroidissement NULL 0
    boites à rlts NULL 0
    Boitier à GM NULL 0
    Canon NULL 0
    Coussinet NULL 0
    Couvercle de palier NULL 0
    Ecrous de roue NULL 0
    Flasque NULL 0
    Fourreau de pe NULL 0
    Garniture mecanique Cassé 6
    Goujons NULL 0
    JOINT EAU AR NULL 0
    Joint eau canon NULL 0
    Joint eau volute NULL 0
    Palier NULL 0
    Pompe Complette HS NULL 0
    Presse étoupe Cassé 1
    Rotor NULL 0
    Soufflet NULL 0
    Stator NULL 0
    Tube arrosge GM NULL 0
    Tube de liaison NULL 0
    Tube de sortie NULL
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 289 Messages

18 nov. 2005, 09:27

je viens de tester la synthaxe est g le regert de vous dire que





ca marche a merveille :lol:

merci beaucoup de votre aide,
FAb, qui va maintenant passer passer un bon WE! (du moins, s'il n'y a pas un nouveau pb a résoudre :wink: )
je dois être la seule souris au monde qui ne fait pas peur aux néléphants ! :=)