2010-12-13 7 views
1

In der Quesentabelle haben einige der früher hinzugefügten Zeilen den Wert der AdminLangID-Spalte als NULL. Der folgende SP sollte diese Zeilen ebenfalls zurückgeben, ist es aber nicht. Was ist falsch? Welche Bedingung muss ich hinzufügen, damit es zurückgibt ALL die Zeilen? Ich habe nur manuell die AdminLangID einiger Zeilen gesetzt, dann würde sie diese zurückgeben, aber nicht diejenigen mit AdminLangID als NULL. Ich möchte, dass auch diese Zeilen zurückgegeben werden. Was muss ich ändern? Dieser SP wurde verwendet, um ein Gitter auf meiner Seite zu binden, und das Raster zeigt NUR die Zeilen mit der AdminLangeID als NOT NULL an.Gespeicherte Prozedur, die nicht alle Zeilen zurückgibt, wenn es sollte. Was ist los mit dir?

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

falschen Titel . Es gibt genau alle Zeilen zurück, die es sollte. Der Titel weist auf ein Problem mit der SQL-Seite hin (Zeilen, die bei der Übertragung verloren gehen), anstatt auf den Fragetyp "Ich weiß nicht, ob SQL". – TomTom

Antwort

2

ich es wud diejenigen, aber nicht diejenigen, mit AdminLangID als NULL zurück nur manuell die AdminLangID einiger Reihen gesetzt, dann.

Der Innen zu Admin.Lang verbinden bedeutet, dass die Abfrage nur die Zeilen angezeigt werden können, die ausgefüllt haben AdminLangID Ändern Sie ihn auf einer äußeren Verknüpfung, um es Zeilen mit null AdminLangID zu machen zurückkehren.

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

Danke, es hat funktioniert :) – Serenity

Verwandte Themen