Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 15/04/2010 14:56:00
- marc.stx
- Membre
Requete sur 2 tables
Bonjour,
Je débute en SQL et je souhaiterai avoir une petite aide concernant une requête relativement simple (je pense).
J'ai 2 tables :
T1 contenant les variables ID1, ID2
T2 contenant les variables ID2, NOM, TYPE
Je souhaiterai que ma requête me retourne la table TT contenant :
ID1 , nombre de ID2 par ID1, si NOM=TOTO et si TYPE=H
Merci pour vos réponses
Hors ligne
#2 15/04/2010 17:05:24
- marc.stx
- Membre
Re : Requete sur 2 tables
Ne faut il pas faire un GROUP BY id1 pour avoir le nombre de id2 par id1 ?
Je travaille sur des données cadastrales.
id1 est l'identifiant de parcelle et id2 celui des bâtiments.
je souhaite avoir un tableau avec :
n° de parcelle [id1], le nombre total de logements [count (id2)] , le nombre total de logements vides [type=vide]
Je suis preneur d'adresse pour de bons tutoriels.
Merci
Hors ligne
#3 15/04/2010 17:16:56
- Marc Cousin
- Membre
Re : Requete sur 2 tables
oups j'ai oublié de taper le group by
SELECT id1, count(t2.id2) from t1 join t2 on (t1.id2=t2.id2) where nom='TOTO' and type='H' group by id1;
Si vous voulez faire plusieurs décomptes en même temps, c'est un peu plus complexe, mais peut tout de même être fait en une seule requête : quelque chose comme :
SELECT id1, count(t2.id2), sum(case when type='vide' then 1 else 0 end) from t1 join t2 on (t1.id2=t2.id2) where nom='TOTO' and type='H' group by id1;
Marc.
Hors ligne
#4 15/04/2010 17:54:23
- marc.stx
- Membre
Re : Requete sur 2 tables
Merci bq, tout fonctionne.
J'aurai appris la fonction CASE...
Dernière modification par marc.stx (15/04/2010 17:54:35)
Hors ligne
Pages : 1