Bonjour, j'ai plusieurs soucis pour compter, trier et ranger...
J'ai donc deux tables
ce qui lie mes tables c'est le code
en fait c'est le zéro qui me donne le plus de soucis
voici ce que j'ai fais pour l'instant
SELECT groupe, code1, code2, grades, id2, COUNT( categorie ) AS categorie1 => le count je ne suis pas sur !
FROM tables1, tables2
WHERE code1 = code2
GROUP BY code2
ORDER BY id2 ASC => important
si vous pouviez me donner un coup de main
et s'il manque quelque chose, demandé moi
pour les zéro, oui je veux savoir combien il y a de
categorie dans le groupe et s'il n'y en a pas afficher "0"
voici en gros la table, je l'ai simplifié pour y voir plus clair
table1 table2
id1 code1 categorie id2 code2 groupe
1 001 a 1 001 1
2 002 b 2 002 1
3 003 c 3 003 1
4 004 d 4 004 2
5 005 e 5 005 2
6 006 b 6 006 2
7 007 a 7 007 3
8 008 a 8 008 3
9 009 c 9 009 3
je voudrais arriver à :
groupe categorie nombre
1 a 1
2 a 0
3 a 2
SELECT table2.groupe, COUNT(table1.categorie) AS nombre
FROM table2, table1
WHERE table1.code=table2.code2
GROUP BY table1.groupe
ORDER BY table2.id2 ASC
ceci devrais marcher je pense
dis moi si le résultat concorde avec ce que tu cherchais
j'ai encore un peu de mal avec la norme 2003, donc quand je donne une solution je préfère proposer la syntaxe ou je suis le plus à l'aise pour le momment
SELECT table2.groupe, COUNT(table1.categorie) AS nombre
FROM table2, table1
WHERE table1.code=table2.code2
GROUP BY table1.groupe
ORDER BY table2.id2 ASC
ceci devrais marcher je pense
dis moi si le résultat concorde avec ce que tu cherchais
SELECT table2.groupe, COUNT(table1.categorie) AS nombre
FROM table2, table1
WHERE table1.code=table2.code2
GROUP BY table2.groupe
ORDER BY table2.id2 ASC
ce code m'indique toutes les categorie par groupe
et je voudrais pouvoir sélectionner une seule categorie
Avec le peu d'élément que tu donnes je dirais peut-être
SELECT groupe, categorie, COUNT(categorie) AS nombre
FROM table1
LEFT JOIN table2 ON code1 = code2
GROUP BY groupe, categorie
Ko Reika, ce qui serait pas mal ce serait d'utiliser la norme SQL 2003 et pas 83.
si tu veux plus d'élément demande moi, mais je pensais qu'avais ces infos cela serait suffisant
sinon, j'ai testé ta requete et mysql me sort des chiffres mais je ne vois pas à quoi ils correspondent
Citation : Zazou
Bah rajoute un WHERE, t'es grand non tu veux pas qu'on te prenne par la main non plus ?
autant pour moi j'ai été trop vite et avec un WHERE ça fonctionne presque bien
sauf qu'il n'y a pas tous les groupe de listé, et donc le zéro en face des groupe
ou il n'y a pas pas cette categorie de présente
Bah je sais pas non plus en fait, ce qui serait intéressant c'est d'avoir l'export de tes tables et un vrai cas concret de ce que tu veux récupérer (avec tous les éléments nécessaires pour réaliser la requête pas juste des bribes)
Oui j'ai une idée, mais pour ça j'ai besoin de l'export de ta table ! Au moins le CREATE TABLE et suffisement d'INSERT INTO pour trouver la bonne requête.0 Tu n'auras aucune réponse siç tu ne coopères pas.
j'aimerai bien t'en donner plus, mais dans ces données
il y a des nom, prénom...... et je ne veux absolument
pas sortir ces données
et voici les CREATE TABLE
CREATE TABLE IF NOT EXISTS `table1` (
`id1` int(11) NOT NULL auto_increment,
`nom` text NOT NULL,
`prenom` text NOT NULL,
`categorie` text NOT NULL,
`code1` text NOT NULL,
PRIMARY KEY (`id1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3022 ;
CREATE TABLE IF NOT EXISTS `table2` (
`id2` int(11) NOT NULL auto_increment,
`groupe` text NOT NULL,
`code2` text NOT NULL,
PRIMARY KEY (`id2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=617 ;
Bah tu te débrouilles pour les effacer ou les remplacer par des trucs bidon, je m'en fiche moi des noms.
Mais je vais pas m'amuser à créer des insertions pour ton plaisir.
houpss ... et me revoilà
ma table c'est un peu compliqué
et des sous catégories son arrivé, appelé 'service' dans la table2 !
le soucis c'est qu'il y a des service qui on le même nom !!!
voici la requete, et je voudrais donc regrouper par 'service'
SELECT t2.id2,service,
(SELECT COUNT(categorie)
FROM table1
WHERE categorie='a' AND code1=code2) AS cat
FROM table2 t2
WHERE t2.groupe='1'
ORDER BY t2.id2 ASC
j'ai bien tenté ceci :
SELECT t2.id2,service,
(SELECT COUNT(categorie)
FROM table1
WHERE categorie='a' AND code1=code2) AS cat
FROM table2 t2
WHERE t2.groupe='1' GROUP BY service
ORDER BY t2.id2 ASC
cela à bien regroupé les 'service'
mais sans comptabiliser l'ensemble des 'cat' ayant le meme nom de service'
cela ne doit pas etre grand chose mais je but sur ce petit truc
merci de votre aide
pourrais tu nous éclaircir ce que tu cherche à faire ? (clairement)
d'après ce que j'ai compris, tu à rajouté un champ dans l'une de tes tables (nommé services)
et donc tu voudrais savoir :
combien de catégorie "a" sont présente dans les différents groupes ET différents services ?
je voudrais toujours savoir le nombre de categorie 'a' dans chaque 'groupe'
mais maintenant je voudrais afficher par 'service' qui sont des sous-groupe de 'categorie'
le soucis c'est qu'il y a des 'service' portant le meme nom et ayant un code1 qui n'égale pas au code2 !
Bonjour, rien a voir avec le sujet en cours désolé.
Je voulais savoir, comment fais_tu pour obtenir les entrées de ta bdd comme tu l'a affiché dans le code actionscript.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon portfolio : https://www.artstation.com/tdugard