Forum
arkadaşlar merhaba mikro ile arayüz program yazıyorum linq ile şimdi şöyle bir sorum olucak stoklar var örneğin;
Stokkod :A01 Liste Sırano(bana burda iki numara ile işlem gerekiyor 2 ve20 eğer 20 varsa 20 gelicek bu arada 20 demek kampanya demek eger o urunde 20 nolu fiyat yoksa 2 gelicek )
arama yaptıgımda ;
A01 -1
A01 -2
A01 -3
A01 -4
A01 -5
A01 -6
A01 -20
geliyor ben bunu sqlde nasıl yapabilirim ? tek fiyat gostermem gerek oda 20 varsa 20 yoksa 2 nolu olanı
şimdiden yardımlarınız için teşekkür ederim
malesef o şekilde çözülmedi
yazdığınız sorguyunun gerekli bölümünü gösterebilir misiniz ? Case When çözmesi gerekirdi.
merhaba yani aşağıdaki sorgu ile yazdığımda hata alıyorum
ALTER proc [dbo].[SP]
@sto_kod nvarchar(25),
@cari_kod nvarchar(25)
as
declare @liste nvarchar(25)
select @liste=(select sto_sezon_kodu from STOKLAR where sto_kod='%'+@sto_kod+'%')
if (@liste='KAMPANYA')
BEGIN
SELECT sfiyat_listesirano,msg_S_0002, sto_birim1_ad,msg_S_0018,MERKEZ,sfiyat_listesirano,sfiyat_fiyati,msg_S_1589,dbo.CARI_HESAPLAR.cari_kod AS cari_kodu, dbo.STOK_SATIS_FIYAT_LISTELERI.sfiyat_stokkod AS stok_kodu, dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_stok_kod AS stok_iskonto_kodu,
dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_cari_kod AS cari_iskonto_kodu, dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_uygulama_odeme_plani AS odeme, dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_isk1_yuzde, dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_isk4_yuzde,
dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_isk2_yuzde, dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_isk3_yuzde
FROM dbo.STOK_CARI_ISKONTO_TANIMLARI INNER JOIN
dbo.CARI_HESAPLAR ON dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_cari_kod = dbo.CARI_HESAPLAR.cari_satis_isk_kod INNER JOIN
dbo.STOK_SATIS_FIYAT_LISTELERI ON dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_stok_kod = dbo.STOK_SATIS_FIYAT_LISTELERI.sfiyat_iskontokod INNER JOIN
STOKLAR ON STOKLAR.sto_kod=STOK_CARI_ISKONTO_TANIMLARI.isk_stok_kod INNER JOIN STOKLAR_CHOOSE_2A_DEPOLU
ON STOKLAR_CHOOSE_2A_DEPOLU.msg_S_0078=STOK_CARI_ISKONTO_TANIMLARI.isk_stok_kod INNER JOIN STOKLAR_YONETIM ON STOKLAR_YONETIM.msg_S_0001=STOK_SATIS_FIYAT_LISTELERI.sfiyat_stokkod
where sfiyat_stokkod like '%'+@sto_kod+'%' and sfiyat_listesirano=20 AND cari_kod='%'+@cari_kod+'%'
END
ELSE
BEGIN
SELECT sfiyat_listesirano, msg_S_0002,sto_birim1_ad,msg_S_0018,MERKEZ,sfiyat_listesirano,sfiyat_fiyati,msg_S_1589,dbo.CARI_HESAPLAR.cari_kod AS cari_kodu, dbo.STOK_SATIS_FIYAT_LISTELERI.sfiyat_stokkod AS stok_kodu, dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_stok_kod AS stok_iskonto_kodu,
dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_cari_kod AS cari_iskonto_kodu, dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_uygulama_odeme_plani AS odeme, dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_isk1_yuzde, dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_isk4_yuzde,
dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_isk2_yuzde, dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_isk3_yuzde
FROM dbo.STOK_CARI_ISKONTO_TANIMLARI INNER JOIN
dbo.CARI_HESAPLAR ON dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_cari_kod = dbo.CARI_HESAPLAR.cari_satis_isk_kod INNER JOIN
dbo.STOK_SATIS_FIYAT_LISTELERI ON dbo.STOK_CARI_ISKONTO_TANIMLARI.isk_stok_kod = dbo.STOK_SATIS_FIYAT_LISTELERI.sfiyat_iskontokod INNER JOIN
STOKLAR ON STOKLAR.sto_kod=STOK_CARI_ISKONTO_TANIMLARI.isk_stok_kod INNER JOIN STOKLAR_CHOOSE_2A_DEPOLU
ON STOKLAR_CHOOSE_2A_DEPOLU.msg_S_0078=STOK_CARI_ISKONTO_TANIMLARI.isk_stok_kod INNER JOIN STOKLAR_YONETIM ON STOKLAR_YONETIM.msg_S_0001=STOK_SATIS_FIYAT_LISTELERI.sfiyat_stokkod
where sfiyat_stokkod like '%'+@sto_kod+'%' and sfiyat_listesirano=2 and cari_kod='%'+@cari_kod+'%'
END
yani yapmak istediğim sorguda sfiyat_listesirano 20 veya 2 olabilir bir urun 20 fiyatı varsa 2 fiyatı dikkate almaması şimdiden teşekkür ederim