[challenge] [résolu] Requete SQL galere
12 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
[challenge] [résolu] Requete SQL galere
Hello,
J'ai une requete sur laquelle je bute depuis un bon moment... j'utilise MySQL 4.1 (je peux pas upgrader) et je ne sais meme pas si c'est possible avec cette version.
Je fais donc appel aux Pros qui sont dans la place...
Voila la structure de ma table : REGLEMENTS : ID/TYPE/MONTANT/PERSONNE
les enregistrements de la table ont 2 types possibles : IMPAYE ou REGLEMENT et ont toutes un montant.
Je voudrais connaitre le nombre de PERSONNES , où la somme des reglements est inferieure à la somme des impayes (balance negative).
j'arrive a avoir la liste des enregistrements concernés :
mais impossible d'avoir directement le nombre de lignes avec un
car ca me fait n lignes avec "1"...je suis paumé...
surement que la structure de la table n'est pas idéale, mais ce n'est pas la question (suggestions bienvenues)
c'est une solution 'pure SQL' que je cherche, pas du PHP...merci
J'ai une requete sur laquelle je bute depuis un bon moment... j'utilise MySQL 4.1 (je peux pas upgrader) et je ne sais meme pas si c'est possible avec cette version.
Je fais donc appel aux Pros qui sont dans la place...
Voila la structure de ma table : REGLEMENTS : ID/TYPE/MONTANT/PERSONNE
les enregistrements de la table ont 2 types possibles : IMPAYE ou REGLEMENT et ont toutes un montant.
Je voudrais connaitre le nombre de PERSONNES , où la somme des reglements est inferieure à la somme des impayes (balance negative).
j'arrive a avoir la liste des enregistrements concernés :
- Code: Tout sélectionner
SELECT REGLEMENTS.PERSONNE FROM REGLEMENTS group by REGLEMENTS.PERSONNE having (SUM(IF(REGLEMENTS.TYPE = 'REGLEMENT', MONTANT,0))<SUM(IF(REGLEMENTS.TYPE = 'IMPAYE', MONTANT,0)))
mais impossible d'avoir directement le nombre de lignes avec un
- Code: Tout sélectionner
SELECT COUNT(DISTINCT REGLEMENTS.PERSONNE)...
car ca me fait n lignes avec "1"...je suis paumé...
surement que la structure de la table n'est pas idéale, mais ce n'est pas la question (suggestions bienvenues)
c'est une solution 'pure SQL' que je cherche, pas du PHP...merci
Dernière édition par ZoRRo75 le Jeu Jan 05, 2006 18:16, édité 2 fois.
Bjr,
je ne suis pas sur d'avori tout compris, mais si tu veux la personne et le nombre ds ta table du genre
AAAA : 12
BBBBB : 23
etc.....
tu peux essayer ca :
Bon courage.
je ne suis pas sur d'avori tout compris, mais si tu veux la personne et le nombre ds ta table du genre
AAAA : 12
BBBBB : 23
etc.....
tu peux essayer ca :
- Code: Tout sélectionner
SELECT REGLEMENTS.PERSONNE,COUNT(*)
FROM REGLEMENTS
GROUP BY REGLEMENTS.PERSONNE;
Bon courage.
Oula
Cela marche en Oracle maintenant en PHP j'ai pas testé :S
Tu fais simplement un COUNT sur ta requete non ?
- Code: Tout sélectionner
SELECT COUNT(SELECT REGLEMENTS.PERSONNE FROM REGLEMENTS group by REGLEMENTS.PERSONNE having (SUM(IF(REGLEMENTS.TYPE = 'REGLEMENT', MONTANT,0))<SUM(IF(REGLEMENTS.TYPE = 'IMPAYE', MONTANT,0))));
Cela marche en Oracle maintenant en PHP j'ai pas testé :S
Tu fais simplement un COUNT sur ta requete non ?
oulala comme tu dis
ta soluce marche pas, ca me donne N lignes avec le nombre de lignes pour chaque personne...
utiliser COUNT(DISTINCT(REGLEMENTS.PERSONNE)) est deja mieux : ca me fait N lignes avec '1' a chaque fois, mais je n'arrive pas à récuperer ce nombre de lignes en SQL directement... ce que je veux récuperer, c'est ce N simplement (1 ligne avec marqué N dedans...)
thanx anyway....
bug MySQL ou dans ma ptite tete ???
ta soluce marche pas, ca me donne N lignes avec le nombre de lignes pour chaque personne...
utiliser COUNT(DISTINCT(REGLEMENTS.PERSONNE)) est deja mieux : ca me fait N lignes avec '1' a chaque fois, mais je n'arrive pas à récuperer ce nombre de lignes en SQL directement... ce que je veux récuperer, c'est ce N simplement (1 ligne avec marqué N dedans...)
thanx anyway....
bug MySQL ou dans ma ptite tete ???
Rajoute un peu le FROM dans ma requète
Si ton résultats est correct et que tu veux simplement le nombre de ligne, un SELECT COUNT(...) FROM devrait te donner le bon résultats.
http://dev.mysql.com/doc/refman/5.0/fr/views.html
Apparement on peux créer des vues sous mysql :O
J'en apprend tous les jours
Créé donc un vue
Avec ta première requète
Et tu fais un Select sur ta vue
Cela dis il y à certainement moyen de faire autrement ^^
Si ton résultats est correct et que tu veux simplement le nombre de ligne, un SELECT COUNT(...) FROM devrait te donner le bon résultats.
http://dev.mysql.com/doc/refman/5.0/fr/views.html
Apparement on peux créer des vues sous mysql :O
J'en apprend tous les jours
Créé donc un vue
Avec ta première requète
Et tu fais un Select sur ta vue
- Code: Tout sélectionner
SELECT COUNT(*) FROM TAVUE;
Cela dis il y à certainement moyen de faire autrement ^^
- Code: Tout sélectionner
SELECT COUNT(*)
FROM reglements
WHERE id IN (
SELECT id
FROM reglements
GROUP BY personne having (SUM(IF(REGLEMENTS.TYPE = 'REGLEMENT', MONTANT,0))<SUM(IF(REGLEMENTS.TYPE = 'IMPAYE', MONTANT,0))))
12 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google API : guide de développement de l'API Google
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Ecrire un sitemap pour Google News
- Nombre moyen de mots par requête : statistiques AOL Août 2006
- Nombre de clics dans les pages de résultats : statistiques AOL Août 2006
- SearchMonkey : Yahoo ouvre sa plateforme de recherche
- Informations sur l'infrastructure technique de Google
- Stratégies financières sur l'évolution de l'architecture Google
- Google indexe le Flash
- Google Android SDK : le kit de développement pour la plateforme de téléphone mobile Android
- [Résolu] Requete SQL
- [résolu][sql] Requête avec WHERE
- [résolu] Nombres arrondis suite à requête SQL
- [RESOLU] Requête SQL sur condition aléatoire
- [résolu] Demande d'aide pour une requête sql
- [Résolu] 2 requêtes en une seule je galère
- requête sql help!!
- [sql] Requête
- pb de requête sql
- Requête SQL
- Nombre de requete sql
- Requete SQL spécial :s
- Requete SQL spécifique
- Requete SQL contenu
- Optimiser requete sql
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités





le forum