Requête foireuse [SQL in VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 28-05-2002 à 15:24:27
Loom the Gloom a écrit a écrit : salut! pourquoi, lorsque je fais une reqûete, dans laquelle je prends des champs de différentes tables, il ne m'affiche que les résultats dont tous les champs que je demande sont remplis ? merci |
pas tout compris.
t'as un exemple de requete ?
Marsh Posté le 28-05-2002 à 15:28:06
mareek a écrit a écrit : pas tout compris. t'as un exemple de requete ? |
ok bouge pas...
SELECT INCIDENT.numIncident AS [Numéro Incident], INCIDENT.jour AS Jour, INCIDENT.date AS [Date], INCIDENT.heure AS Heure, INCIDENT.numAdresse AS Numéro, RUE.nomRue AS Rue, QUARTIER_ELU.nomQuartierElu AS [Quartier d'élu], QUARTIER.nomQuartier AS Quartier, SECTEUR.nomSecteur AS Secteur, LIEU.nomLieu AS Lieu, INCIDENT.lieuPrécis AS [Lieu Précis], TYPE_INCIDENT.typeIncident AS Incident, INCIDENT.description AS Description, source.nomSource AS Source, VICTIME.typeVictime AS Victime, INCIDENT.suivi AS Suivi
FROM INCIDENT, QUARTIER_ELU, RUE, QUARTIER, source, TYPE_INCIDENT, LIEU, SECTEUR, VICTIME
WHERE (((INCIDENT.numQuartierElu)=[QUARTIER_ELU].[numQuartierElu]) AND ((VICTIME.numVictime)=2^(chercheSelection([INCIDENT].[numVictime],14))) AND ((source.numSource)=2^(chercheSelection([INCIDENT].[numSource],20))) AND ((INCIDENT.numRue)=[RUE].[numRue]) AND ((INCIDENT.numQuartier)=[QUARTIER].[numQuartier]) AND ((TYPE_INCIDENT.numIncident)=(SELECT MIN(numTypeIncident) FROM JOINTURE WHERE numIncident = INCIDENT.numIncident)) AND ((INCIDENT.numSecteur)=([SECTEUR].[numSecteur])) AND ((INCIDENT.lieu)=([LIEU].[numLieu])));
et ici l'incident qui n'a pas de secteur renseigné n'apparait psa dans le résultat de la requete...
Marsh Posté le 28-05-2002 à 15:47:36
essaie d'utiliser une commande LEFT JOIN ou RIGHT JOIN pour lier tes tables incident et secteur par exemple
Marsh Posté le 28-05-2002 à 15:51:18
ChrisDv a écrit a écrit : essaie d'utiliser une commande LEFT JOIN ou RIGHT JOIN pour lier tes tables incident et secteur par exemple |
oui, ok, et comment ça marche ? a quoi ça sert ??
nouveauté : si au lieu de ne rien mettre dans mon champ secteur, je mets un 0, et si j'associe dans la table secteur un champ vide au 0, alors ça marche, il m'affiche tous les résultats...
est ce normal ? ne peut on éviter cela ?
Marsh Posté le 28-05-2002 à 15:17:32
salut!
pourquoi, lorsque je fais une reqûete, dans laquelle je prends des champs de différentes tables, il ne m'affiche que les résultats dont tous les champs que je demande sont remplis ?
merci
---------------
Music|Market|Feed|Loom|DVD