Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb de requête

2 réponses
Avatar
Syl
Bonjour,

J'ai une de mes proc stock=E9es qui bug, et =E0 vrai dire je=20
ne vois pas pourquoi...
Donc je voudrais savoir si quelqu'un arrive =E0 trouver la=20
faille dans ma proc=E9dure stock=E9e.

Merci d'avance.

J'ai les tables :=20

Appel : id, id_categorie (cl=E9 =E9trang=E8re), resume
Travaux : id, il_appel(cl=E9 =E9trang=E8re), id_structure (cl=E9=20
=E9trang=E8re)
Structure : id, nom
Historique : id, id_travaux (cl=E9 =E9trang=E8re), date_mel

Voici ma proc stock=E9e :=20
ALTER PROCEDURE myProc
(
@IdCategory int
)
AS
SELECT t.id, CONVERT(nvarchar(60), resume)AS resume,=20
h.date_mel, s.nom
FROM travaux t,
histo h,
appel a,
structure s
WHERE t.id_appel=3Da.id
AND t.id_prestataire=3Ds.id // jointure
AND h.id_dossier=3Dt.id // jointure
AND a.id_categorie=3D@IdCategory
ORDER BY h.date_mel

Quand je lui passe IdCategory=3D1, il me renvoit 1 champ=20
alors qu'il devrait m'en renvoyer 3
Pour IdCategory=3D2, idem, et pour IdCategory > 2, il ne me=20
renvoit rien du tout.

Quelqu'un a une id=E9e ?

Merci

2 réponses

Avatar
Steve Kass
Syl,

Sans voir les données, il n'est pas possible de dire. Le mieux
serait que tu copies les définitions exactes (CREATE TABLE ...) ainsi
que la proc (svp couper-coller, afin d'éviter toute erreur comme la
colonne t.id_prestataire, qui vient d'ou?), est quelques lignes de
données ou la proc ne donne pas les résultats voulus.

Avez-vous identifié des rangées specifiques des 4 tables qui devraient
produire un résultat ayant a.id_category = 3, et verifié les conditions
de la requête (t.id_appel=a.id, etc.)?


Steve Kass
Drew University

Syl wrote:

Bonjour,

J'ai une de mes proc stockées qui bug, et à vrai dire je
ne vois pas pourquoi...
Donc je voudrais savoir si quelqu'un arrive à trouver la
faille dans ma procédure stockée.

Merci d'avance.

J'ai les tables :

Appel : id, id_categorie (clé étrangère), resume
Travaux : id, il_appel(clé étrangère), id_structure (clé
étrangère)
Structure : id, nom
Historique : id, id_travaux (clé étrangère), date_mel

Voici ma proc stockée :
ALTER PROCEDURE myProc
(
@IdCategory int
)
AS
SELECT t.id, CONVERT(nvarchar(60), resume)AS resume,
h.date_mel, s.nom
FROM travaux t,
histo h,
appel a,
structure s
WHERE t.id_appel=a.id
AND t.id_prestataire=s.id // jointure
AND h.id_dossier=t.id // jointure
AND a.id_categorie=@IdCategory
ORDER BY h.date_mel

Quand je lui passe IdCategory=1, il me renvoit 1 champ
alors qu'il devrait m'en renvoyer 3
Pour IdCategory=2, idem, et pour IdCategory > 2, il ne me
renvoit rien du tout.

Quelqu'un a une idée ?

Merci





Avatar
Fred BROUARD
Essaye :

ALTER PROCEDURE myProc @IdCategory int
AS

SELECT t.id, CAST(resume AS nvarchar(60)) AS resume,
h.date_mel, s.nom

FROM travaux t
INNER JOIN histo h
ON t.id = h.id_dossier
INNER JOIN appel a
ON t.id_appel = a.id
INNER JOIN structure s
ON t.id_prestataire = s.id

WHERE a.id_categorie = @IdCategory

ORDER BY h.date_mel




Syl a écrit:
Bonjour,

J'ai une de mes proc stockées qui bug, et à vrai dire je
ne vois pas pourquoi...
Donc je voudrais savoir si quelqu'un arrive à trouver la
faille dans ma procédure stockée.

Merci d'avance.

J'ai les tables :

Appel : id, id_categorie (clé étrangère), resume
Travaux : id, il_appel(clé étrangère), id_structure (clé
étrangère)
Structure : id, nom
Historique : id, id_travaux (clé étrangère), date_mel

Voici ma proc stockée :
ALTER PROCEDURE myProc
(
@IdCategory int
)
AS
SELECT t.id, CONVERT(nvarchar(60), resume)AS resume,
h.date_mel, s.nom
FROM travaux t,
histo h,
appel a,
structure s
WHERE t.id_appel=a.id
AND t.id_prestataire=s.id // jointure
AND h.id_dossier=t.id // jointure
AND a.id_categorie=@IdCategory
ORDER BY h.date_mel

Quand je lui passe IdCategory=1, il me renvoit 1 champ
alors qu'il devrait m'en renvoyer 3
Pour IdCategory=2, idem, et pour IdCategory > 2, il ne me
renvoit rien du tout.

Quelqu'un a une idée ?

Merci




--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************