Я использую SQL Server 2008 R2 я имею процедуру магазина, как это:SQL выберите сазе
CREATE PROCEDURE Get_Code_Tourne_Matin
-- Add the parameters for the stored procedure here
@The_FA int,
@The_Jour int,
@The_Insee varchar(10)
AS
BEGIN
declare @TheCode varchar(250)
set @TheCode = case
when exists (SELECT T_TOURNE_LABEL.LIBELLE
FROM TOURNE
LEFT JOIN T_TOURNE_LABEL ON TOURNE.LIB_TOURNE = T_TOURNE_LABEL.NOID
WHERE THE_FA = @The_FA AND
NO_INSEE = @The_Insee AND
JOUR = @The_Jour AND
(datepart(hh, LE_HEURE) between 13 and 23 or datepart(hh, LE_HEURE) between 0 and 6)) then LIBELLE
when exists (SELECT LIBELLE
FROM TOURNE
LEFT JOIN T_TOURNE_LABEL ON TOURNE.LIB_TOURNE = T_TOURNE_LABEL.NOID
WHERE THE_FA = @The_FA AND
NO_INSEE = @The_Insee AND
JOUR = 0 AND
(datepart(hh, LE_HEURE) between 13 and 23 or datepart(hh, LE_HEURE) between 0 and 6)) then LIBELLE
else '00'
end
RETURN @TheCode
END
я просто хочу, чтобы вернуть Libelle.
первого выбора с 3 переменными, когда он нашел то Retrun в Libelle
еще при запуске выберите с 2 переменными, когда он нашел то Retrun в Libelle
еще Retrun «00»
, кажется, ошибка синтаксиса на Libelle
любая идея?
Libelle существует только внутри() скобки, но вы пытаетесь получить доступ к нему за их пределами. –
Если есть строка, которая соответствует верхней выберите (с 'JOUR = @ The_Jour'), могло быть строка с 'JOUR = 0'? –