Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
veri aktarımı esnasında kontrol
#1
Merhaba,
Bir veri aktarımı esnasında kontrol işlemi yaparken sorgu nasıl olmalıdır, örnek sorgu aşağıdaki gibidir.
çift not in nasıl kullanılır ?
declare @invoice_id int = (SELECT TOP 1 A.ID FROM FATURADETAY A 
WHERE A.GMHK =@gmhk AND 1=1 
and A.ID  NOT IN ( SELECT invoice_id FROM accounts_recievable )
--and A.EVRAKNO  NOT IN ( SELECT evrakno FROM accounts_recievable ) // 2.Not in nasıl olmalı veya tek sorgu halinde 
ORDER BY A.ID,A.VADETARIHI)
Cevapla
#2
Kardes ne sormak istedigin acik ve net degil.
2. NOT IN nasil olmali derken ne sarta gore nasil olmali?
Soruna su haliyle derimki NOT IN den sonra herhangi bir select ifadesi yaz gitsin. Cunku nasil bir sonuc istedigin ve sartlarin nedir belli degil.
Bir veri aktarımı esnasında kontrol işlemi yaparken sorgu nasıl olmalıdır diye sormussun. Neyi kontrol ediyorsun veri aktarimi ile kastin ne?  Kodlamanda degiskene bir select deyimiyle sartlarinida subquery yoluyla vererek deger atamaya calismissin. Ustelik And 1=1 sartinin orada hicbir anlami yok. OR 1=1 olsa idi anlamliydi.
Sorununu biraz daha acarsan yardimci olabiliriz
Cevapla
#3
Merhaba,

Sorgunun özeti bir sorgu içerisinde 2 adet not in kullanılabilir mi ? veya nasıl olmalı ?

Teşekkür ederim.
Cevapla
#4
(08-10-2019, Saat: 11:24)denizfatihi Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba,

Sorgunun özeti bir sorgu içerisinde 2 adet not in kullanılabilir mi ? veya nasıl olmalı ?

Teşekkür ederim.

Elbette...

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
P.Safa:Yaşlanarak değil, yaşayarak tecrübe kazanılır.Zaman insanları değil,armutları olgunlaştırır
C.Yücel:Toprak gibi olmalısın! Ezildikçe sertleşmelisin!Seni ezenler sana muhtaç kalmalı! Hayatı sende bulmalı
S.Canan:Bildiğini zannettiğin an hiç bir şey öğrenemezsin
Bilgi uçar
WWW
Cevapla
#5
(08-10-2019, Saat: 11:24)denizfatihi Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba,

Sorgunun özeti bir sorgu içerisinde 2 adet not in kullanılabilir mi ? veya nasıl olmalı ?

Teşekkür ederim.

Araya AND yada OR operatoru koyarak istediğiniz kadar NOT IN yada IN kullanabilirisiniz.  

select *
from tbl1
where column1 NOT IN  (select columnA from tbl2 where columnA>500 ) and 
      column2 NOT IN ('x','y','z')  and column3 NOT IN (select columnB from tbl3) AND
      (column4 NOT IN (select columnK from tbl4)  OR column5 NOT IN (select columnN from tbl5) )

IN operatörünün kullanımını şu linkten de Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. inceleyebilirsiniz


Bazı durumlarda, birden fazla sütun üstünden kayıtları ilintilendirmek gerekebilir. Bu tür
durumlarda EXISTS ve NOT EXITS yapılarından yararlanılabilir. Bunun yanı sıra, bu
iki yapı içerideki SELECT ifadesi seçme yapmaz, sadece değer dönüp dönmediğine bakmak
için işlemler yapar.

EXISTS kullanıldığında, içerideki sorguda, bir veya daha fazla kayıt dönerse, dışarıdaki
sorgu çalıştırılır (TRUE değer üretir). Hiç kayıt dönmezse, dışarıdaki sorgu çalıştırılmaz
(FALSE değer üretir). NOT EXISTS bunun tersine içerideki sorgunun sonucunda sıfır
kayıt dönüyorsa, dışarıdaki sorgunun çalıştırılması için kullanılır. Ancak bu iki ifade de
TRUE ya da FALSE (mantıksal doğru ve mantıksal yanlış) dışında değer döndüremedikleri
için kullanılamayacağı yerler vardır.

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

-- Uses AdventureWorks  
 
SELECT a.FirstName, a.LastName  
FROM Person.Person AS a  
WHERE a.LastName IN  
(SELECT a.LastName  
   FROM HumanResources.Employee AS b  
   WHERE a.BusinessEntityID = b.BusinessEntityID  
   AND a.LastName = 'Johnson') 

-- Uses AdventureWorks  
 
SELECT a.FirstName, a.LastName  
FROM Person.Person AS a  
WHERE EXISTS  
(SELECT *   
   FROM HumanResources.Employee AS b  
   WHERE a.BusinessEntityID = b.BusinessEntityID  
   AND a.LastName = 'Johnson') 
Cevapla
#6
Sayın Serdar bey, bilgi ve desteğiniz için çok teşekkür ederim.

iyi çalışmalar,
Cevapla
#7
  • declare @invoice_id int = (SELECT TOP 1 A.ID FROM FATURADETAY AWHERE NOT EXISTS(SELECT * FROM accounts_recievable bWHERE A.ID=b.invoice_id AND b.accounts_recievable=A.EVRAKNO) AND A.GMHK =@gmhk AND 1=1 )
Merhaba,

Yukarıdaki  şekilde  yapınca tam istediğim  oldu, bilki birilerinin işine yarar.

Kolay gelsin,
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Veri Tabanında Random Değişiklikler Hk. pro_imaj 5 423 11-07-2019, Saat: 15:28
Son Yorum: pro_imaj
  Datalar arası veri kopyalama hk Mericx 5 462 28-06-2019, Saat: 14:24
Son Yorum: elixir84
  MS SQL Server üzerinden Diskte bir tablonun varlığını kontrol eden fonksiyon adelphiforumz 0 321 13-03-2019, Saat: 16:22
Son Yorum: adelphiforumz
  Kaydetme Koşullarını Transactionda Kontrol Etme witalihakko 4 700 14-12-2018, Saat: 12:52
Son Yorum: witalihakko
  SQl Server içinde değere göre kontrol yapmak Bay_Y 6 1.230 22-08-2018, Saat: 23:34
Son Yorum: Bay_Y



Konuyu Okuyanlar: 1 Ziyaretçi