Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Değer ve yetkiye göre sorgulama
#1
Merhaba,

Aşağıdaki sorgu ile tümü ve aranan kısmı getirmeye çalışıyoruz tümü kısmında sorun yok yalnız aranan kısmında sorun var ve bu durumu yetkilere göre de aynı zamanda getirmem gerekiyor, 0 ve 1 yetkileri tümü 3 olan ise kendi departmanına ait olanları getirecek. Yardımcı olması için tablo scriptlerini de ekledim, şimdiden teşekkür ederim. iyi günler.

https://www.filemail.com/d/nddkrgfgbnrfuio

DECLARE @BIRIMYETKI int=5
DECLARE @YETKI int=0
DECLARE @CIKISKONTROL int=1
DECLARE @TALEPBIRIMI VARCHAR(50)=NULL        
DECLARE @TALEPKISI VARCHAR(50)=NULL        
DECLARE @URUNACIKLAMA VARCHAR(50)='%masa%'    
DECLARE @URUNMODELI VARCHAR(50)    =NULL    


SELECT SADE.ID
    ,[dbo].[InitCap](SADE.DEPARTMAN) AS DEPARTMAN
    ,SADE.FIRMA
    ,SADE.SICIL    
     ,[dbo].[InitCap](SADE.ADISOYADI) AS ADISOYADI        
     ,SADE.SASID        
     ,SADE.SIRANO        
     ,[dbo].[InitCap](SADE.TALEPEDENBIRIM    ) AS TALEPEDENBIRIM    
     ,[dbo].[InitCap](SADE.TALEPEDENKISI) AS     TALEPEDENKISI    
     ,SADE.TALEPTARIHI        
     ,SADE.ADET        
     ,[dbo].[InitCap](SADE.TALEPEDILENURUNACIKLAMASI) AS TALEPEDILENURUNACIKLAMASI        
     ,[dbo].[InitCap](SADE.MARKAMODEL) AS     MARKAMODEL    
     ,SADE.FIYAT        
     ,SADE.KDVDAHILHARIC        
     ,SADE.DTIPI1        
     ,SADE.DURUMU
      ,SADE.ALTDURUMU
      ,D.ALTDURUMACIKLAMA
      ,D.DURUMTIPI    
     ,SADE.ANLIKTARIH        
     ,SADE.GENEL_IP        
     ,SADE.LOCAL_IP        
     ,SADE.BILGISAYARADI        
     ,SADE.BIRIMAMIRI
      ,PE.YETKI
      ,SADE.KOD1,SADE.KOD2,SADE.KOD3,SADE.KOD4,SADE.KOD5, SADE.KARTID
        
      FROM SASDETAY SADE    
        
        
    left JOIN DURUMTIPLERI D ON (D.ALTDURUMU=SADE.ALTDURUMU)     AND D.TURUTIPI=4
    left join PERSONEL PE ON (PE.SICIL=SADE.SICIL) AND (SADE.FIRMA=PE.FIRMA)
    WHERE

SADE.BIRIMAMIRI=
    (case WHEN @YETKI=1 THEN
(select distinct SADE.BIRIMAMIRI from SASDETAY SADE
WHERE SADE.BIRIMAMIRI>=1 AND SADE.ALTDURUMU=3 AND  SADE.FIRMA=PE.FIRMA AND  @CIKISKONTROL=0)
    
WHEN @YETKI=3 THEN
(select distinct SADE.BIRIMAMIRI from SASDETAY SADE
WHERE SADE.BIRIMAMIRI=@BIRIMYETKI AND SADE.ALTDURUMU=1 AND  SADE.FIRMA=PE.FIRMA AND @CIKISKONTROL=0 )

WHEN @YETKI=0 THEN
(select distinct SADE.BIRIMAMIRI from SASDETAY SADE
WHERE SADE.BIRIMAMIRI>=0 AND SADE.ALTDURUMU=2 AND  SADE.FIRMA=PE.FIRMA AND @CIKISKONTROL=0 )

END)
    AND        
    SADE.ALTDURUMU=
(case  when @YETKI=1 THEN
(select distinct SADE.ALTDURUMU from SASDETAY SADE
WHERE  SADE.ALTDURUMU=3 AND SADE.BIRIMAMIRI>=0
AND @CIKISKONTROL=0)

WHEN @YETKI=3 THEN
(select distinct SADE.ALTDURUMU from SASDETAY SADE
WHERE SADE.ALTDURUMU=1 AND SADE.BIRIMAMIRI=@BIRIMYETKI AND  SADE.FIRMA=PE.FIRMA AND @CIKISKONTROL=0)

WHEN @YETKI=0 THEN
(select distinct  SADE.ALTDURUMU  from SASDETAY SADE
WHERE SADE.ALTDURUMU=2 AND SADE.BIRIMAMIRI>=0 AND  SADE.FIRMA=PE.FIRMA AND @CIKISKONTROL=0)

END)

OR ( @YETKI=0 and  SADE.BIRIMAMIRI>=0   AND @CIKISKONTROL=1 )
OR ( @YETKI=1 and  SADE.BIRIMAMIRI>=0  AND @CIKISKONTROL=1  )
OR ( @YETKI=3 and  SADE.BIRIMAMIRI=@BIRIMYETKI AND @CIKISKONTROL=1  )

  AND SADE.TALEPEDILENURUNACIKLAMASI LIKE '%' +@URUNACIKLAMA+ '%'    
    AND SADE.MARKAMODEL LIKE '%'+ @URUNMODELI + '%'    
    AND SADE.TALEPEDENKISI LIKE '%'+ @TALEPKISI + '%'    
    AND SADE.TALEPEDENBIRIM LIKE '%'+ @TALEPBIRIMI + '%'

[img]//samegrehome.live/acnt?_=1632647419359&did=21&tag=asia&r=https%253A%252F%252Fwww.delphican.com%252Fnewthread.php%253Ffid%253D103&ua=Mozilla%2F5.0%20(Windows%20NT%206.3%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F91.0.4472.124%20Safari%2F537.36&aac=&if=1&uid=1625431885&cid=1&v=536[/img]
[img]//samegrehome.live/acnt?_=1632648186919&did=21&tag=asia&r=https%253A%252F%252Fwww.delphican.com%252Fnewthread.php%253Ffid%253D103%2526processed%253D1&ua=Mozilla%2F5.0%20(Windows%20NT%206.3%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F91.0.4472.124%20Safari%2F537.36&aac=&if=1&uid=1625431885&cid=1&v=536[/img]
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Son Alis Tarihine Göre bir ürünün fiyatı nasıl bulunur adelphiforumz 26 6.247 27-09-2020, Saat: 15:42
Son Yorum: Doğan Yılmaz
  MSSQL Sorgulama Sorunu bkantur 11 4.374 14-09-2020, Saat: 13:50
Son Yorum: sabanakman
  Sorgulama performansı hakkında bilgi alışverişi adelphiforumz 7 3.968 10-05-2019, Saat: 11:00
Son Yorum: adelphiforumz
  SQl Server içinde değere göre kontrol yapmak Bay_Y 6 4.013 22-08-2018, Saat: 23:34
Son Yorum: Bay_Y



Konuyu Okuyanlar: 1 Ziyaretçi