Bonjour
J'ai une requête sql qui parfois ne donne aucun resultat car pas d'objet trié dans une période donnée.
je souhaite insérer une condition qui m'affiche un commentaire lorsque la requête ne donne aucun resultat. Mais malgré mes tentatives, je n'y arrive pas
Voici ma requête sql.
Pour résumé, je voudrais que lorsque le count(P.id) est <0 alors ma requete affiche "Pas objet trouvé".
Dans le cas contraire, elle affiche les resultats.

dans ma requete ci dessous, que le count(P.id) soit < ou > 0 , j'ai toujours le commentaire "Pas objet trouvé" qui s'affiche

Merci de votre aide




Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
DECLARE @EVENT_TYPE_SORTING                           Int = 2  -- Tri 
DECLARE @EVENT_TYPE_REJECT                            Int = 34 -- Rejet
 
DECLARE @StartDateTime DateTime = '20200131 20:30'
DECLARE @EndDateTime DateTime =   '20200131 23:30'
DECLARE @gate int =   '61'
 
DECLARE @Type	Int=0
 
DECLARE @count int
 
 
IF 0<@count
 
BEGIN
 
select
CONVERT(varchar,@StartDateTime,103) +' '+CONVERT(varchar,@StartDateTime,108) as Date_Debut,
CONVERT(varchar,@EndDateTime,103) +' '+CONVERT(varchar,@EndDateTime,108) as Date_Fin,
D.DescRegateCode as Destination ,
DEB.num as Sortie,
DEF.gate as gate,
Count(P.id) as '@count' 
 
from Debordement deb
inner join OPB_Server.DefinitionOPB.dbo.[ZoneSorterExitDef] AS DEF
on DEF.DestinationNUm=DEB.VirtualChuteNum
 
 
LEFT JOIN [Parcel] P
ON P.[PhysicalChuteNum]=Deb.[Num] AND P.[SystemNum]=0
 
INNER JOIN [ParcelEvent] PE
ON P.[Id]=PE.[ParcelId] AND 
   PE.[EventTypeNum] IN (@EVENT_TYPE_SORTING,@EVENT_TYPE_REJECT) AND 
   PE.[DateTime] BETWEEN @StartDateTime AND @EndDateTime
 
inner join Chute C
on C.Num=DEB.Num
 
inner join ChutePhysicalType CPT
on CPT.Type=C.ChutePhysicalType and CPT.Type= @type
 
inner JOIN Vacation as V
on V.id = P.VacationId
 
inner join Tache as T
ON  V.IdTache=T.Id and T.id=DEB.IdTache
 
inner JOIN dsc as D
on D.chute=C.num and D.Idtache=V.idtache  
 
 
where DEF.gate=@gate
 
GROUP BY
D.DescRegateCode,
DEB.num,
DEF.gate
 
 END
ELSE
       BEGIN
      select 'Pas objet trouvé.'
 
      END