Forum
Merhaba,
Satıcı Kod'larındaki bir mağazaya ait tüm Satıcı Rumuz'ları, tek bir rumuzda birleşssin şeklinde bir Sql lazım. Destek menüsünden tek tek yapmak baya meşakkatli.
İyi çalışmalar
Merhaba,
Aşağıdaki SQL istenen mağazadaki tüm satışları, istenen satıcı koduna taşır,
ve bu mağazaya ait istenen haricindeki satıcı kodlarını siler.
declare @hangimagaza as varchar(10)
declare @hangisatici as varchar(10)
set @hangimagaza = '' -----------> Mağaza kodunu giriniz
set @hangisatici = 'DG' -----------> Satıcı kodunu giriniz
update tbStokFisiDetayi set sSaticiRumuzu = @hangisatici
from tbSaticiMagaza
where ( sFisTipi = 'P' or sFisTipi = 'PD' or sFisTipi = 'PTX' or sFisTipi = 'KS' or sFisTipi = 'K' ) and
tbStokFisiDetayi.sSaticiRumuzu = tbSaticiMagaza.sSaticiRumuzu and tbSaticiMagaza.sMagaza= @hangimagaza
update tbAlisverisSiparis set sSaticiRumuzu = @hangisatici from tbAlisveris
where tbAlisveris.nAlisverisID = tbAlisverisSiparis.nAlisverisID and sMagazaKodu= @hangimagaza
delete tbSaticiMagaza from tbsatici,tbSaticiMagaza
where tbSaticiMagaza.sMagaza= @hangimagaza
and tbsatici.sSaticiRumuzu <> @hangisatici and rtrim(tbsatici.sSaticiRumuzu)<>''
Delete tbsatici FROM tbSatici LEFT OUTER JOIN tbSaticiMagaza ON tbSatici.sSaticiRumuzu = tbSaticiMagaza.sMagaza
where sMagaza=null and rtrim(tbsatici.sSaticiRumuzu) <> ''
Teşekkür ederim Orhan Bey
Tekrar merhaba,
Orhan Bey, deneme db de uyguladım. Çok kullanışlı ancak bir sorun var, eski Satıcı Rumuz'ları a,b,c....v,y,z ile başlayan harflerle açılmıştı. Yeni açılan Satıcı Rumuzları rakamlı idi. Cümleyi çalıştırdığımda harf yada rakam ayrımı yapmadan bütün Satıcı Rumuz'larını istenilen koda aktarıyor. Şansımı zorlayarak şöyle diyeyim; "Sadece a,b,c...v,y,z ile başlayan Satıcı Rumuz'ları değişsin.
Not: Satıcı kodları çok fazla, bazılarına mağaza kodu girilmiş bazılarına girilmemiş. Mağaza ayrımı yapmayacağım.
Verdiğiniz cümlede uygulama mı aşağıda veriyorum.Mağaza bölümünü boş bıraktım.
declare @hangisatici as varchar(10)
set @hangimagaza = ''
set @hangisatici = '1111'
update tbStokFisiDetayi set sSaticiRumuzu = @hangisatici
Teşekkür ederim.
Aşağıdaki sorgu ile sadece kullanıcı adı harf ile başlayanlar dikkate alınacaktır.
declare @hangimagaza as varchar(10)
declare @hangisatici as varchar(10)
set @hangimagaza = '' -----------> Mağaza kodunu giriniz
set @hangisatici = 'DG'
-----------> Satıcı kodunu giriniz
Update tbStokFisiDetayi set sSaticiRumuzu = @hangisatici
from tbSaticiMagaza
where ( sFisTipi = 'P' or sFisTipi = 'PD' or sFisTipi = 'PTX' or sFisTipi = 'KS' or sFisTipi = 'K' ) and
tbStokFisiDetayi.sSaticiRumuzu = tbSaticiMagaza.sSaticiRumuzu and tbSaticiMagaza.sMagaza= @hangimagaza
and sSaticiRumuzu between 'a' and 'zzzzzzzzzzzzzz'
Update tbAlisverisSiparis set sSaticiRumuzu = @hangisatici from tbAlisveris
where tbAlisveris.nAlisverisID = tbAlisverisSiparis.nAlisverisID and sMagazaKodu= @hangimagaza
and sSaticiRumuzu between 'a' and 'zzzzzzzzzzzzzz'
Delete tbSaticiMagaza from tbsatici,tbSaticiMagaza
where tbSaticiMagaza.sMagaza= @hangimagaza and sSaticiRumuzu between 'a' and 'zzzzzzzzzzzzzz'
and tbsatici.sSaticiRumuzu <> @hangisatici and rtrim(tbsatici.sSaticiRumuzu)<>''
Delete tbsatici FROM tbSatici LEFT OUTER JOIN tbSaticiMagaza ON tbSatici.sSaticiRumuzu = tbSaticiMagaza.sMagaza
where sMagaza=null and rtrim(tbsatici.sSaticiRumuzu) <> '' and sSaticiRumuzu between 'a' and 'zzzzzzzzzzzzzz'
Hatalıymış bir önceki, bunun çalışması lazım .
declare @hangimagaza as varchar(10)
declare @hangisatici as varchar(10)
set @hangimagaza = '' -----------> Mağaza kodunu giriniz
set @hangisatici = '11' -----------> Satıcı kodunu giriniz
Update tbStokFisiDetayi set sSaticiRumuzu = @hangisatici
from tbSaticiMagaza
where ( sFisTipi = 'P' or sFisTipi = 'PD' or sFisTipi = 'PTX' or sFisTipi = 'KS' or sFisTipi = 'K' ) and
tbStokFisiDetayi.sSaticiRumuzu = tbSaticiMagaza.sSaticiRumuzu and tbSaticiMagaza.sMagaza= @hangimagaza
and tbStokFisiDetayi.sSaticiRumuzu between 'a' and 'zzzzzzzzzzzzzz'
Update tbAlisverisSiparis set sSaticiRumuzu = @hangisatici from tbAlisveris
where tbAlisveris.nAlisverisID = tbAlisverisSiparis.nAlisverisID and sMagazaKodu= @hangimagaza
and sSaticiRumuzu between 'a' and 'zzzzzzzzzzzzzz'
Delete tbSaticiMagaza where sSaticiRumuzu between 'a' and 'zzzzzzzzzzzzzz'
Delete tbsatici where sSaticiRumuzu between 'a' and 'zzzzzzzzzzzzzz'
🙂 Ben istedim bir göz; siz verdiniz iki göz.Elinize sağlık. Cümle çok güzel çalışıyor, üstüne atıla düşen diğer satıcı kodlarınıda siliyor.
İyi çalışmalar