Requete: Quel condition mettre ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requete: Quel condition mettre ?

par guigui69 » 12 juin 2008, 08:38

Modification effectuée, j'espère que le titre est plus explicite car je ne sais pas trop quoi mettre dans le titre.

guigui69

par albat » 11 juin 2008, 20:09

Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP", "Aidez-moi !" n'apportent rien à la compréhension de ton problème.
Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.

par guigui69 » 11 juin 2008, 17:46

Si je t'ai répondu, il me retourne une seul ligne.

Une matière ou je n'ai pas encore fait d'inventaire dessus.



Je vais teste une requête

Merci d'avance

guigui69

par ouckileou » 11 juin 2008, 16:54

Ok pour les !=

Par contre tu lis ce que j'écris ou pas ? Je t'ai postée une requête, elle te donne quoi ? Avec le filtre IS NULL

par guigui69 » 11 juin 2008, 16:42

Justement,

Je veut la liste de tout les emballages qui ne sont pas enregistrées dans la table inventaire_emb pour le mois_inventaire_emb XX et l'annee_inventaire_emb.


Merci

guigui69

par ouckileou » 11 juin 2008, 16:18

Pourquoi des != si tu veux justement le mois 4 et l'année 2008 ?

par guigui69 » 11 juin 2008, 15:23

Merci pour ton aide.

En faites j'avais aucun résultat.

Concernant la requête elle me retourne qu'une seule matière.

Code : Tout sélectionner

SELECT emballage.id_emb, nom_emb, nom_four, cond_emb, unite_conditionnement, pu_emb, qte_inventaire_emb FROM emballage LEFT JOIN inventaire_emb ON emballage.id_emb = inventaire_emb.id_emb INNER JOIN fournisseur ON emballage.id_four = fournisseur.id_four INNER JOIN conditionnement ON conditionnement.id_conditionnement = emballage.id_conditionnement WHERE mois_inventaire_emb != 04 AND annee_inventaire_emb !=2008 AND actif_emb = '1' ORDER BY nom_four
Je fait cette requête pour l'inventaire au niveau emballage. (fonctionnement parreille sauf que les noms de champs changent)
Dans ma table inventaire_emb j'ai deja enregistrée 3 enregistrements pour la période 04 2008.
Et donc normalement avec la requête je voudrait quel m'affiche les autres code matière qui eu ne figure pas dans la table inventaire_emb pour les date demandée (mois_inventaire_emb 04 annee_inventaire_emb 2008).

Merci d'avance

guigui69

par ouckileou » 11 juin 2008, 14:45

Il ne faut pas dire "ça ne fonctionne pas", c'est trop vague on ne sait pas ce que ça signifie : erreur, aucun résultat ?

Si j'applique mon message précédent, ça donnerait ça :

Code : Tout sélectionner

SELECT matiere.code_m, nom_m, nom_four, cond_m, unite_conditionnement, pu_m, inventaire_mat.code_m FROM matiere LEFT JOIN inventaire_mat ON matiere.code_m = inventaire_mat.code_m INNER JOIN fournisseur ON matiere.id_four = fournisseur.id_four INNER JOIN conditionnement ON conditionnement.id_conditionnement = matiere.id_conditionnement WHERE inventaire_mat.code_m IS NULL AND actif_m = '1' ORDER BY nom_four

par guigui69 » 11 juin 2008, 14:19

La requête plus haut était un essai mais çà ne fonctionne pas.

Code : Tout sélectionner

SELECT matiere.code_m, nom_m, nom_four, cond_m, unite_conditionnement, pu_m FROM matiere LEFT JOIN inventaire_mat ON matiere.code_m = inventaire_mat.code_m INNER JOIN fournisseur ON matiere.id_four = fournisseur.id_four INNER JOIN conditionnement ON conditionnement.id_conditionnement = matiere.id_conditionnement WHERE ??????????? AND actif_m = '1' ORDER BY nom_four
Le but c'est de récupérer les informations de la matière à condition que la matière (code_m)ne soit pas enregistrée dans la table inventaire_mat pour le mois_inventaire_mat XXX et annee_inventaire_mat XXX


Merci

guigui69

par ouckileou » 11 juin 2008, 13:51

Si j'ai bien compris le système, ajoute inventaire_mat.code_m dans le SELECT et filtre sur inventaire_mat.code_m IS NULL

Requete: Quel condition mettre ?

par guigui69 » 11 juin 2008, 12:49

Bonjour à tous,

J'aurai besoin d'aide sur une requête,

Voici la situation:

Sur une page web, un utilisateur rentre l'inventaire pour le 05 2008, il remplit qu'une partie de l'inventaire puis il valide. (autre case vide)

Après il retourne dans cette même page ou pour le même mois cette fois cela afficherait uniquement ceux qui ne sont pas été remplis pour ce mois-ci.

Code : Tout sélectionner

SELECT matiere.code_m, nom_m, nom_four, cond_m, unite_conditionnement, pu_m FROM matiere LEFT JOIN inventaire_mat ON matiere.code_m = inventaire_mat.code_m INNER JOIN fournisseur ON matiere.id_four = fournisseur.id_four INNER JOIN conditionnement ON conditionnement.id_conditionnement = matiere.id_conditionnement WHERE ///mois_inventaire_mat NOT IN (05) AND annee_inventaire_mat NOT IN (2008) \\\ AND actif_m = '1' ORDER BY nom_four
Je voudrait afficher les matière (matiere.code_m, nom_m, nom_four, cond_m, unite_conditionnement, pu_m)

OU l'inventaire pour cette matière ne soit pas renseigné pour le mois XXX et l'année XXXX dans la table inventaire_mat . (Et uniquement pour ce moist-ci, je veut pas qu'il m'affiche les mois précédent)

Merci d'avance pour votre aide


guigui69

Code : Tout sélectionner

REATE TABLE `matiere` ( `code_m` int(11) NOT NULL auto_increment, `nom_m` varchar(50) NOT NULL COMMENT 'Nom de la matiere premiere', `id_four` int(11) NOT NULL COMMENT 'fournisseur', `cond_m` int(11) NOT NULL COMMENT 'le nombre de quantité', `id_conditionnement` int(10) NOT NULL COMMENT 'au kg en piece', `pu_m` decimal(10,5) NOT NULL COMMENT 'prix unitaire', `tva_m` decimal(3,2) default NULL, `id_conditionnement_pu` int(10) NOT NULL COMMENT 'mesure kg pice rame', `coef_mat_pdr` decimal(10,5) default NULL, `pu_mat_pdr` decimal(10,5) default NULL, `composup25_m` varchar(30) default NULL, `date_m` date NOT NULL COMMENT 'date de maj', `id_matiere_type` int(11) NOT NULL, `actif_m` tinyint(1) NOT NULL default '1', PRIMARY KEY (`code_m`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=78 ; -- -- Contenu de la table `matiere` -- INSERT INTO `matiere` (`code_m`, `nom_m`, `id_four`, `cond_m`, `id_conditionnement`, `pu_m`, `tva_m`, `id_conditionnement_pu`, `coef_mat_pdr`, `pu_mat_pdr`, `composup25_m`, `date_m`, `id_matiere_type`, `actif_m`) VALUES (1, 'Eau Fleur Oranger ', 51, 1, 2, 2.70000, 5.50, 2, 1.00000, 2.70000, '', '2008-01-28', 1, 1), (2, 'Eau Fleur Oranger ', 14, 20, 2, 0.94000, 5.50, 2, 1.00000, 0.94000, '', '2008-01-28', 1, 1), (3, 'Gouttelines Choco 44%', 10, 25, 1, 1.92100, 5.50, 1, 1.00000, 1.88000, '', '2008-04-29', 1, 1), (4, 'Palet Choco 44%', 10, 25, 1, 1.84800, 5.50, 1, 1.00000, 1.82000, '', '2008-04-30', 1, 1), (5, 'Arome Citron', 17, 25, 1, 10.48000, 5.50, 1, 1.00000, 10.48000, '', '2008-05-05', 1, 1), (6, 'Comte', 13, 10, 1, 8.20000, 5.50, 1, 1.00000, 8.20000, '', '2008-01-28', 1, 1), (7, 'Roquefort En Des Pot De 500G', 13, 1, 1, 17.42400, 5.50, 1, 1.00000, 17.42400, '', '2008-04-29', 1, 1), (8, 'Lardons Fumes Supérieurs ', 15, 1, 1, 3.50000, 5.50, 1, 1.00000, 3.50000, '', '2008-01-28', 1, 1), (9, 'Creme A Froid (Pain Raisin)', 49, 25, 1, 1.50000, 5.50, 1, 1.00000, 1.50000, '', '2008-04-30', 1, 1), (10, 'Premix Fantaisies', 50, 25, 1, 2.78551, 5.50, 1, 0.00000, 0.00000, '', '2008-06-10', 1, 0), (11, 'Addigerm Bpf 5% 25 Kg ', 2, 25, 1, 2.47000, 5.50, 1, 1.00000, 2.47000, '', '2008-01-28', 1, 1), (12, 'Addigerm Complement S 0,2 % À 0, 5 %', 2, 25, 1, 2.19000, 5.50, 1, 1.00000, 2.19000, '', '2008-01-28', 1, 1), (13, 'Addigerm Fraicheur 5%', 2, 25, 1, 2.35000, 5.50, 1, 1.00000, 2.35000, '', '2008-01-28', 1, 1), (14, 'Addigerm Moelleux 5% 25 Kg', 2, 25, 1, 2.52000, 5.50, 1, 1.00000, 2.52000, '', '2008-01-28', 1, 1), (15, 'Addigerm Saveur Levain 25 Kg', 2, 25, 1, 2.29000, 5.50, 1, 1.00000, 2.29000, '', '2008-01-28', 1, 1), (16, 'Addigerm Précuit 0,5%', 2, 25, 1, 1.70000, 5.50, 1, 1.00000, 1.92000, '', '2008-01-28', 1, 1), (17, 'Addigerm Cru Surgelé 1,0%', 2, 25, 1, 1.66000, 5.50, 1, 1.00000, 1.66000, '', '2008-01-28', 1, 1), (18, 'Addigerm Viennoiserie 25Kg', 2, 25, 1, 1.89000, 5.50, 1, 1.00000, 1.89000, '', '2008-01-28', 1, 1), (19, 'Elite Cereales 25 %', 2, 25, 1, 2.00000, 5.50, 1, 1.00000, 2.00000, '', '2008-01-28', 1, 1), (20, 'Farine Céréales 25%', 21, 25, 1, 1.18000, 5.50, 1, 1.00000, 1.18000, '', '2008-01-28', 1, 1), (21, 'Complément Arôme Beurre', 2, 25, 1, 3.51000, 5.50, 1, 1.00000, 3.51000, '', '2008-04-30', 1, 1), (22, 'Addigerm Tolérant 3%', 2, 25, 1, 2.37000, 5.50, 1, 1.00000, 2.37000, '', '2008-01-28', 1, 1), (23, 'Colorant Panidor 2%', 2, 25, 1, 2.35000, 5.50, 1, 1.00000, 2.35000, '', '2008-01-28', 1, 1), (24, 'Lefap Panidor', 2, 25, 1, 2.86000, 5.50, 1, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (25, 'Parfen Froment', 2, 25, 1, 1.96000, 5.50, 1, 1.00000, 1.96000, '', '2008-01-28', 1, 1), (26, 'Addigerm Pfp I02 5%', 2, 25, 1, 2.53000, 5.50, 1, 1.00000, 2.53000, '', '2008-01-28', 1, 1), (27, 'Preparation Banane', 47, 24, 1, 1.91000, 5.50, 1, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (28, 'Noix Brisure 4/6', 8, 10, 1, 5.03000, 5.50, 1, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (29, 'Amandes Poudre 10 Kg', 8, 10, 1, 5.35000, 5.50, 1, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (30, 'Amandes Effilees 10 Kg', 8, 10, 1, 5.76000, 5.50, 1, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (31, 'Muscade Poudre 450G', 6, 1, 3, 8.59000, 5.50, 3, 1.00000, 8.05000, '', '2008-04-29', 1, 1), (32, 'Poivre Blanc 1 Kg', 6, 1, 3, 8.88000, 5.50, 3, 1.00000, 8.88000, '', '2008-04-29', 1, 1), (33, 'Premix Campagne 20 Kg', 48, 20, 1, 1.32690, 5.50, 1, 1.00000, 1.29360, '', '2008-01-28', 1, 1), (34, 'Premix Complet 25 Kg', 48, 25, 1, 0.79990, 5.50, 1, 1.00000, 0.76660, '', '2008-01-28', 1, 1), (35, 'Farine Complet 25%', 21, 25, 1, 0.67500, 5.50, 1, 1.00000, 0.67500, '', '2008-01-28', 1, 1), (36, 'Premix Seigle 25 Kg', 48, 25, 1, 0.97890, 5.50, 1, 1.00000, 0.94560, '', '2008-01-28', 1, 1), (37, 'Farine Seigle Bavière 50%', 21, 25, 1, 0.78000, 5.50, 1, 1.00000, 0.78000, '', '2008-01-28', 1, 1), (38, 'Premix Son 25 Kg ', 48, 25, 1, 0.84340, 5.50, 1, 1.00000, 0.81010, '', '2008-01-28', 1, 1), (39, 'Farine Son 25%', 21, 25, 1, 0.66500, 5.50, 1, 1.00000, 0.66500, '', '2008-01-28', 1, 1), (40, 'Lait Poudre 25 Kg', 5, 25, 1, 6.25000, 5.50, 1, 1.00000, 6.25000, '', '2008-01-28', 1, 1), (41, 'Fromage Fondu Chèvre Rapé', 16, 5, 1, 4.69000, 5.50, 1, 1.00000, 4.69000, '', '2008-04-29', 1, 1), (42, 'Fromage Fondu Garniture Et Sauce', 16, 5, 1, 3.56000, 5.50, 1, 1.00000, 3.56000, '', '2008-04-29', 1, 1), (43, 'Bleu Fondu Râpé ', 16, 5, 1, 5.91000, 5.50, 1, 1.00000, 5.91000, '', '2008-04-29', 1, 1), (44, 'Dap', 18, 10, 1, 1.70000, 5.50, 1, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (45, 'Fruits Confits Cubes X 5 Kg', 5, 5, 1, 2.00000, 5.50, 1, 1.00000, 2.00000, '', '2008-04-30', 1, 1), (46, 'Noix De Coco ', 5, 25, 1, 1.15000, 5.50, 1, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (47, 'Rhum', 52, 25, 2, 3.32000, 5.50, 2, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (48, 'Raisins Secs De Turquie', 5, 13, 1, 1.53000, 5.50, 1, 1.00000, 1.18000, '', '2008-04-30', 1, 1), (49, 'Sucre Glace 20 Kg ', 5, 20, 1, 1.14000, 5.50, 1, 1.00000, 1.14000, '', '2008-01-28', 1, 1), (50, 'Chocolat Labo Force Noire Barry', 20, 20, 1, 3.75000, 5.50, 1, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (51, 'Chocolat Couverture Lactee Barry', 20, 20, 1, 6.34000, 5.50, 1, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (52, 'Ail Semoule ', 23, 1, 1, 2.55000, 5.50, 1, 1.00000, 2.55000, '', '2008-05-27', 1, 1), (53, 'Persil', 53, 1, 1, 4.07000, 5.50, 1, 1.00000, 4.07000, '', '2008-04-29', 1, 1), (54, 'Ciboulette', 53, 1, 1, 2.22000, 5.50, 1, 1.00000, 2.22000, '', '2008-04-29', 1, 1), (55, 'Son De Moutarde', 26, 1, 3, 5.50000, 5.50, 3, 0.00000, 0.00000, '', '2008-01-28', 1, 1), (56, 'Beurre Pasteur. (Fl)X25Kg', 11, 25, 1, 3.28000, 5.50, 1, 1.00000, 3.58000, '', '2008-04-16', 1, 1),
Matiere:

Code : Tout sélectionner

-- Structure de la table `inventaire_mat` -- CREATE TABLE `inventaire_mat` ( `id_inventaire_mat` int(11) NOT NULL auto_increment, `date_inventaire_mat` date NOT NULL, `qte_inventaire_mat` decimal(10,5) NOT NULL, `code_m` int(11) NOT NULL, `mois_inventaire_mat` int(6) NOT NULL, `annee_inventaire_mat` int(4) NOT NULL, `pu_j_inventaire_mat` decimal(10,5) NOT NULL, PRIMARY KEY (`id_inventaire_mat`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=196 ; -- -- Contenu de la table `inventaire_mat` -- INSERT INTO `inventaire_mat` (`id_inventaire_mat`, `date_inventaire_mat`, `qte_inventaire_mat`, `code_m`, `mois_inventaire_mat`, `annee_inventaire_mat`, `pu_j_inventaire_mat`) VALUES (1, '2008-02-01', 0.00000, 1, 2, 2008, 0.00000), (2, '2008-02-01', 0.00000, 2, 2, 2008, 0.00000), (3, '2008-02-01', 0.00000, 3, 2, 2008, 0.00000), (4, '2008-02-01', 0.00000, 4, 2, 2008, 0.00000), (5, '2008-02-01', 0.00000, 5, 2, 2008, 0.00000), (6, '2008-02-01', 0.00000, 6, 2, 2008, 0.00000), (7, '2008-02-01', 0.00000, 7, 2, 2008, 0.00000), (8, '2008-02-01', 0.00000, 8, 2, 2008, 0.00000), (9, '2008-02-01', 0.00000, 9, 2, 2008, 0.00000), (10, '2008-02-01', 0.00000, 10, 2, 2008, 0.00000), (11, '2008-02-01', 0.00000, 11, 2, 2008, 0.00000), (12, '2008-02-01', 0.00000, 12, 2, 2008, 0.00000), (13, '2008-02-01', 0.00000, 13, 2, 2008, 0.00000), (14, '2008-02-01', 0.00000, 14, 2, 2008, 0.00000), (15, '2008-02-01', 0.00000, 15, 2, 2008, 0.00000), (16, '2008-02-01', 0.00000, 16, 2, 2008, 0.00000),