|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2011 Messages : 145 ![]() |
Bonsoir
Je dois sélectionner l'année ou il y a eu le plus visite , grouper le nombre de visite par trimestre pour un résultat comme suit : année / trimestre / nombre de de visites Code sql :
Problème avec un sélection imbriqué ça ne marche pas et je ne vois pas l'erreur . Merci d'avance
|
||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() |
Ca ne marche pas parce que tes sous-requêtes ne renvoient pas les champs dont tu te sers pour les requêtes de niveau supérieur !
par exemple Code :
Dans ta requête marquée 1=>> tu utilise un champ (numvis) qui n'est pas celui qui est renvoyé par ta requête. Alors, comment veux-tu qu'il fasse ?
__________________
1formaxion, une formation de qualité, des formateurs compétents Mes tutoriels et vidéos : Tableaux croisés dynamiques, Access les Bases, et les autres ! |
||
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2011 Messages : 145 ![]() |
Bonsoir
J'ai reessayer ceci : Code sql :
J'espere que c'est le bon Merci d'avance |
||
|
|
00
|
|
|
#4 |
![]() ![]() ![]() |
ben... non, je ne pense pas...
Ta clause HAVING ne veut pas dire grand-chose ! Tu as essayé pour voir ?
__________________
1formaxion, une formation de qualité, des formateurs compétents Mes tutoriels et vidéos : Tableaux croisés dynamiques, Access les Bases, et les autres ! |
|
00
|
|
|
#5 | ||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2011 Messages : 145 ![]() |
Bonsoir
Je dois supprimer dans une table , en comptant dans une autre et en faisant 2 calcule dans cette seconde table sur une même colonne. Pour relier mes deux tables j'ai une clef numclient (primaire pour CLIENT et étrangère pour ANIMAL) Dans ANIMAL il y a une casse decede qui me permet de savoir si un animal et mort ou non . YES/NO comme type Je dois ensuite faire un comptage du nombre d'animaux par client et refaire un comptage du nombre d'animaux mort pour chaque client. Si le nombre d'animaux mort de chaque client et le même que le nombre total d'animaux comptés alors je supprime le client de la base. J'ai testé ceci : Code sql :
Pour me permettre de faire une calcule sur la même colonne j'ai fait un inner join en auto jointure en créant virtuellement une seconde table ANIMAL. Il me parle d'une clause EXISTS dans FROM ? Mais ca n'a pas l'air de marché alors j'ai testé ceci : Code sql :
Ici non plus rien Merci d'avance |
||||
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 412 ![]() |
bonsoir,
Ce serait peut-être plus simple de commencer par chercher les clients qui ont au moins un animal vivant, non ? (puis de supprimer les autres) |
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2011 Messages : 145 ![]() |
Le comptage que tu proposes , c'est a dire ?
J'ai encore essayé 5 solutions différentes , toujours rien qui marche |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 412 ![]() |
il faut décomposer ton problème...
1°) Produire la liste des clients à conserver (ceux qui ont au moins un animal vivant + éventuellement ceux qui n'ont pas d'animaux du tout) 2°) Avec une requête de non-correspondance, produire la liste des clients qui ne sont pas dans la liste 1°) et les supprimer. Citation:
Code sql :
SELECT DISTINCT NumClient FROM ANIMAL WHERE NOT(Decede); |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2011 Messages : 145 ![]() |
Bonjour
C'est bon ça marche , j'ai décortiqué en 4 requêtes distinct dont une qui appelle les 3 autres .Par coutre je suis embetté pour une chose . Si je supprime un client qui à un numéros en clef primaire . Problème je me retrouve avec le même dit numéros en clef étrangère dans une autre table sans référencement de ça clef primaire . Dois je donc aussi supprimer la clef étrangère ? Merci d'avance |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() |
Eh bien, si tu supprimes effectivement ton client, tu peux utiliser l'intégrité référentielle pour supprimer en cascade les enregistrements joints dans les tables découlant (liées) à ton Identifiant Client.
Pour ce faire, tu vas dans la fenêtre des relations [Outils/relations] Tu affiches toutes les relations (il y a un bouton pour ça) Tu t'assures qu'il y a une relation existante entre tes clients et l'autre table. Si ce n'est pas le cas tu la crée. Dans la fenêtre des relations, tu coches [Appliquer l'intégrité référentielle] ainsi que la case [Effacer en cascade] Pour que cela marche il faudra respecter quelques règles : 1- La clé primaire et la clé étrangère devront avoir mêmes types de données et taille 2- Il ne devra pas y avoir, dans la clé étrangère, de données qui n'existent pas dans la clé primaire 3- Ta relation devra être faite entre la clé primaire et la clé étrangère (mais je pense que ceci était évident, au vu des points précédents) voilà
__________________
1formaxion, une formation de qualité, des formateurs compétents Mes tutoriels et vidéos : Tableaux croisés dynamiques, Access les Bases, et les autres ! |
|
00
|
Copyright © 2000-2012 - www.developpez.com