none
dinamik filtreleme sorugusu RRS feed

  • Soru

  • use Northwind
    go
    
    declare @EmpID int
    declare @EmpIDbas int
    declare @EmpIDson int 
    declare @EmpIDmin int 
    
    set @EmpID=1
    --set @EmpIDbas=2
    --set @EmpIDson=6
    --set @EmpIDmin=6
    select * from Employees
    where 
    EmployeeID=ISNULL(@EmpID,EmployeeID)
    and 
    EmployeeID between ISNULL(@EmpIDbas,EmployeeID) and ISNULL(@EmpIDson,EmployeeID)
    and 
    EmployeeID<ISNULL(@EmpIDmin,EmployeeID)
    
    

    merhabalar yukarıdaki gibi bir cümlem var
    bu cumlede @EmpIDmin e değer verirsem istediğim gibi çalışıyor ancak
    başka bir değişkene değer verirsem boş tablo geliyor,

     

    21 Ağustos 2011 Pazar 21:39

Yanıtlar

  • Merhaba,
     EmpIDmin değeri null olduğu zaman kayıtlar donmez. cunku bu ihtimalde ID<ID seklinde olacaktır bu kosulda yanlıstır. Bu sekilde deneyebilirsiniz.

    declare @EmpID int
    declare @EmpIDbas int
    declare @EmpIDson int 
    declare @EmpIDmin int 
    
    set @EmpID=1
    --set @EmpIDbas=2
    --set @EmpIDson=6
    --set @EmpIDmin=6
    select * from Employees
    where 
    EmployeeID=ISNULL(@EmpID,EmployeeID)
    and 
    EmployeeID between ISNULL(@EmpIDbas,EmployeeID) and ISNULL(@EmpIDson,EmployeeID)
    and 
    EmployeeID<=ISNULLISNULL(@EmpIDmin ,EmployeeID)
    


    • Yanıt Olarak İşaretleyen mustafaovali 26 Ağustos 2011 Cuma 05:26
    22 Ağustos 2011 Pazartesi 10:19