Je veux sélectionner tous les enregistrements de la requête ci-dessous, si la valeur [@myTable] .MessageId n'existe pas, considérer 0, dans la jointure.si existe la valeur de la colonne en sql
DECLARE @myTable TABLE
(
MessageId BIGINT ,
RecieverId VARCHAR(100)
)
INSERT INTO @myTable
(MessageId ,
RecieverId
)
SELECT MAX(MessageID) ,
ReceiverID
FROM dbo.CM_MessageStatus
WHERE ReceiverID IN (SELECT *
FROM string_split(@UserID, ','))
AND DeliveredDate IS NOT NULL
GROUP BY ReceiverID
SELECT COUNT(CM_MessageStatus.MessageID) AS MessageID ,
dbo.CM_MessageStatus.ReceiverID
FROM dbo.CM_MessageStatus
LEFT JOIN @myTable ON [@myTable].RecieverId = CM_MessageStatus.ReceiverID
AND CM_MessageStatus.MessageID > [@myTable].MessageId
WHERE --DeliveredDate IS NULL AND
--Si [@myTable] .MessageId n'existe pas considérer 0
CM_MessageStatus.MessageID > [@myTable].MessageId
AND ReceiverID IN (SELECT *
FROM string_split(@UserID, ','))
GROUP BY dbo.CM_MessageStatus.ReceiverID
Note: Je veux vérifier si [@myTable] .MessageId n'existe pas considérer 0
Bonjour Bilal, je lis votre question, mais je ne comprends pas ce qui est exactement votre problème, voulez-vous dire 'Mes sageId = NULL' puis remplacez _NULL_ par 0? – Sami
si [@myTable] .MessageId n'existe pas considère 0, s'il vous plaît voir l'image – bilal
Toujours pas clair, mybe vous voulez dire s'il n'y a pas de données dans votre tableau alors le résultat doit être comme _0 rows_? – Sami