Forum

Çoklu like kom...
 
Bildirimler
Hepsini Temizle

Çoklu like komutu

bluess_devils
(@bluess_devils)
Üye









Merhaba Arkadaşlar;
 

SELECT top 1 FATF.SIRKET, FATF.TARIH, FATF.TIP, FATF.FISNO, FATF.CKOD, FATF.BELGE, CKART.OZEL6, FATF.AKTIP
FROM SENTEZV6.dbo.CKART CKART
inner join
SENTEZV6.dbo.FATF FATF
on CKART.KOD = FATF.CKOD
where ((FATF.SIRKET='10') AND (FATF.TIP=4) AND (CKART.OZEL6='UĞUR') and (FATF.BELGE like '62/0%') )
ORDER BY FATF.BELGE desc

 

Yukarıdaki sql komutunda 62/0 ile başlayan en son faturamı görüntüleyebiliyorum.Ama ben bunun yanına 59/0 ve 63/0 ile başlayanlarıda eklemek istiyorum.Kodu nasıl düzenlemem gerekir.Bulamadım.Yardımcı olur musunuz ?
IP

 


 


 


 

Alıntı
Topic starter Gönderildi : 12/04/2010 13:42
Celalettin Binal
(@CelalettinBinal)
Üye

Soylemek istedigini cok da anladigim soylenemez ama "/0" ile tutturman mumkun. yani like '%/0%' gibi.


Eger biraz daha aciklayici bir seyler yazarsan elimden geleni yapmaya calisirim.


Kolay Gelsin.

CevapAlıntı
Gönderildi : 12/04/2010 15:00
ilbahu
(@ilbahu)
Üye

Merhaba,

Bence komutu aşagıdaki gibi OR ekleyerek duzenlersen çalışabilir.

where ((FATF.SIRKET='10') AND (FATF.TIP=4) AND (CKART.OZEL6='UĞUR') and
((FATF.BELGE like '62/0%') OR (FATF.BELGE like '63/0%')  OR (FATF.BELGE like '59/0%') ) )

 

İyi Çalışmalar

CevapAlıntı
Gönderildi : 12/04/2010 15:19
bluess_devils
(@bluess_devils)
Üye

Cemalettin Bey;


Sorguda amaçladığım işlem;


18 adet mağazanın faturalarını giriyorum.Her bir mağaza için 58/,57/,53/ ile başlayan faturalar var.Bende bu 18 adet mağazanın en son girilmiş en büyük fatura numaralarını bulmak istiyorum.Bir mağaza için yapabiliyorum.58/ ile başlayan en büyük rakamı görebiliyorum.Ama diğerlerinide görmem lazım.Sonuç olarak 18 adet satır listesi görmek gerekir.Çoklu like ifadesi ile yapabileceğimi düşündüm.Ama kodu oluşturamıyorum. 


 


Umarım anlatabilmişimdir.  


 

CevapAlıntı
Topic starter Gönderildi : 12/04/2010 15:20
bluess_devils
(@bluess_devils)
Üye

Sayın İlbahu;


Sizin yaptığınız gibi denedim.Ama 62-63-59 kıyaslayıp en büyük olan sonucu ekrana getiriyor.Bana bunların en büyük rakamlarını vermesi lazım.Yani 3 satırlık bir sonuç çıkması lazım.

CevapAlıntı
Topic starter Gönderildi : 12/04/2010 15:24
Celalettin Binal
(@CelalettinBinal)
Üye

[quote user="bluess_devils"]

Cemalettin Bey;


Sorguda amaçladığım işlem;


18 adet mağazanın faturalarını giriyorum.Her bir mağaza için 58/,57/,53/ ile başlayan faturalar var.Bende bu 18 adet mağazanın en son girilmiş en büyük fatura numaralarını bulmak istiyorum.Bir mağaza için yapabiliyorum.58/ ile başlayan en büyük rakamı görebiliyorum.Ama diğerlerinide görmem lazım.Sonuç olarak 18 adet satır listesi görmek gerekir.Çoklu like ifadesi ile yapabileceğimi düşündüm.Ama kodu oluşturamıyorum. 


 


Umarım anlatabilmişimdir.  


 


[/quote]


 


SANIRIM ANLADIM. EN AZINDAN YAPTIĞIM İŞLEMİN SANA FİKİR VEREBİLECEĞİNİ DÜŞÜNÜYORUM. YADA HEDEF 12. 🙂


ÖRNEK OLMASI AMACIYLA KÜÇÜK BİR TABLO OLUŞTURDUM. AŞAĞIDA ÖRNEK DATALARIYLA MEVCUT. 


column1 column2


--------------- --------------------------------------------------


58/00001 A


53/00002 B


54/00004 C


55/00003 D


53/00007 E


58/00008 F


55/00009 G


COLUMN1 SENİN FATURA NUMARAN. ( STRİNG BİR TİPE SAHİP ). COLUMN 2 NİYE OLUŞTURDUM BİLMİYORUM. 🙂 GELELİM CÜMLEYE.


SELECT


    SUBSTRING(COLUMN1,1,3),


    MAX(SUBSTRING(COLUMN1,4,5))


FROM TABLE_1


GROUP BY SUBSTRING(COLUMN1,1,3)


UMARIM İŞİNE YARAMIŞTIR.


 KOLAY GELSİN. ( BU ARADA İSMİM CELALETTİN )

CevapAlıntı
Gönderildi : 13/04/2010 13:20
 Anonim

Union ile de deneyebilirsiniz.

 

SELECT top 1 FATF.SIRKET, FATF.TARIH, FATF.TIP, FATF.FISNO, FATF.CKOD,
FATF.BELGE, CKART.OZEL6, FATF.AKTIP
FROM SENTEZV6.dbo.CKART CKART
inner
join
SENTEZV6.dbo.FATF FATF
on CKART.KOD = FATF.CKOD
where
((FATF.SIRKET='10') AND (FATF.TIP=4) AND (CKART.OZEL6='UĞUR') and
(FATF.BELGE like '62/0%') )
ORDER BY FATF.BELGE desc

Union All

SELECT top 1 FATF.SIRKET, FATF.TARIH, FATF.TIP, FATF.FISNO,
FATF.CKOD,
FATF.BELGE, CKART.OZEL6, FATF.AKTIP
FROM SENTEZV6.dbo.CKART CKART
inner

join
SENTEZV6.dbo.FATF FATF
on CKART.KOD = FATF.CKOD
where
((FATF.SIRKET='10') AND (FATF.TIP=4) AND (CKART.OZEL6='UĞUR') and
(FATF.BELGE like '63/0%') )
ORDER BY FATF.BELGE desc

Union All

SELECT top 1 FATF.SIRKET, FATF.TARIH, FATF.TIP, FATF.FISNO,
FATF.CKOD,
FATF.BELGE, CKART.OZEL6, FATF.AKTIP
FROM SENTEZV6.dbo.CKART CKART
inner

join
SENTEZV6.dbo.FATF FATF
on CKART.KOD = FATF.CKOD
where
((FATF.SIRKET='10') AND (FATF.TIP=4) AND (CKART.OZEL6='UĞUR') and
(FATF.BELGE like '59/0%') )
ORDER BY FATF.BELGE desc

CevapAlıntı
Gönderildi : 16/04/2010 12:57
onureray
(@onureray)
Üye

[quote user="bluess_devils"]









Merhaba Arkadaşlar;
 

SELECT top 1 FATF.SIRKET, FATF.TARIH, FATF.TIP, FATF.FISNO, FATF.CKOD, FATF.BELGE, CKART.OZEL6, FATF.AKTIP
FROM SENTEZV6.dbo.CKART CKART
inner join
SENTEZV6.dbo.FATF FATF
on CKART.KOD = FATF.CKOD
where ((FATF.SIRKET='10') AND (FATF.TIP=4) AND (CKART.OZEL6='UĞUR') and (FATF.BELGE like '62/0%') )
ORDER BY FATF.BELGE desc

 

Yukarıdaki sql komutunda 62/0 ile başlayan en son faturamı görüntüleyebiliyorum.Ama ben bunun yanına 59/0 ve 63/0 ile başlayanlarıda eklemek istiyorum.Kodu nasıl düzenlemem gerekir.Bulamadım.Yardımcı olur musunuz ?
IP

 


 


 


 


[/quote]


 


 aşağıdaki sorgu tüm fatura numaralarının ilk başındaki 4 haneye göre gruplayıp her grup için en son fatura numarasına sahip olan kayıtları getirir.


 seni anlamak zor oldu ama sanırım istediğin bu [:D]


 


SELECT FATF.SIRKET, FATF.TARIH, FATF.TIP, FATF.FISNO, FATF.CKOD, FATF.BELGE, CKART.OZEL6, FATF.AKTIP
FROM SENTEZV6.dbo.CKART CKART
inner join
SENTEZV6.dbo.FATF FATF
on CKART.KOD = FATF.CKOD
where ((FATF.SIRKET='10') AND (FATF.TIP=4) AND (CKART.OZEL6='UĞUR') )


and FATF.BELGE in


   ( 


      select sonnumara from


      ( 


           SELECT LEFT(FATF.BELGE,4), max(FATF.BELGE) as sonnumara
           FROM SENTEZV6.dbo.CKART CKART
           inner join
                SENTEZV6.dbo.FATF FATF
                 on CKART.KOD = FATF.CKOD
           where ((FATF.SIRKET='10') AND (FATF.TIP=4) AND (CKART.OZEL6='UĞUR') and (FATF.BELGE like '62/0%') )
           group by LEFT(FATF.BELGE,4)
      ) sonnolar


)


 


 


 [:D]


onur eray

CevapAlıntı
Gönderildi : 14/05/2010 02:08
Paylaş: