2010-12-13 4 views
1

Dans la table Ques, certaines des lignes ajoutées précédemment ont la valeur de la colonne AdminLangID comme NULL. Le SP suivant devrait aussi retourner ces lignes mais ce n'est pas le cas. Qu'est-ce qui ne va pas? Quelle condition dois-je ajouter pour qu'il retourne ALL les lignes? Je viens de définir manuellement l'AdminLangID de certaines lignes, puis il retournera ceux-ci, mais pas ceux avec AdminLangID comme NULL. Je veux qu'il renvoie aussi ces lignes. De quoi ai-je besoin pour changer? Ce SP a été utilisé pour lier une grille sur ma page et la grille restitue UNIQUEMENT les lignes qui ont AdminLangeID comme NOT NULL.Procédures stockées ne retournant pas toutes les lignes quand il le devrait. Qu'est-ce qui ne va pas?

BEGIN 
IF @QuesID = 0 
    SET @QuesID =NULL 
SELECT  FQ.QuesID, FQ.Ques,QuesAns 
FROM   Admin.Ques FQ 

INNER JOIN Admin.Lang AL ON AL.AdminLangID=FQ.AdminLangID 
WHERE FQ.QuesID = Coalesce(@QuesID,QuesID) 
END 
+0

titre erroné . Il renvoie exactement toutes les lignes qu'il devrait contenir. Le titre indique un problème de côté SQL (les lignes se perdent dans le transfert) au lieu d'un style de question «je ne sais pas sql». – TomTom

Répondre

2

Je viens de définir manuellement les AdminLangID de quelques lignes, puis il wud revenir ceux mais pas ceux avec AdminLangID comme NULL.

La jointure interne à Admin.Lang signifie que la requête ne retourne que les lignes qui ont AdminLangID remplies dans le changement à une jointure externe pour le faire retourner les lignes avec AdminLangID null.

ALTER PROC [Schema2].[GetQues]  
(
@QuesID int 
) 
AS 
BEGIN 
IF @QuesID = 0 
    SET @QuesID =NULL 
SELECT  FQ.QuesID, FQ.Ques,QuesAns as QuesAns,FQ.QuesAns[Answers], FQT.QuesType ,FQ.QuesTypeID, FQ.QuesParentID, FQ.Active, FQ.AdminLangID,AL.TelerikLang, AL.LangID 
FROM   Admin.Ques FQ 
LEFT OUTER JOIN Admin.QuesTypes FQT ON FQT.QuesTypeID=FQ.QuesTypeID 
LEFT OUTER JOIN Admin.Lang AL ON AL.AdminLangID=FQ.AdminLangID 
WHERE FQ.QuesID = Coalesce(@QuesID,QuesID) 
END 
+0

Merci, ça a marché :) – Serenity

Questions connexes