Forum

Çoklu like kom...
 
Bildirimler
Hepsini Temizle

Çoklu like komutu

8 Yazılar
5 Üyeler
0 Likes
4,463 Görüntüleme
(@bluess_devils)
Gönderiler: 133
Estimable Member
Konu başlatıcı
 









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

 


 


 


 

 
Gönderildi : 12/04/2010 13:42

(@CelalettinBinal)
Gönderiler: 4
New Member
 

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.

 
Gönderildi : 12/04/2010 15:00

(@ilbahu)
Gönderiler: 3
Active Member
 

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

 
Gönderildi : 12/04/2010 15:19

(@bluess_devils)
Gönderiler: 133
Estimable Member
Konu başlatıcı
 

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.  


 

 
Gönderildi : 12/04/2010 15:20

(@bluess_devils)
Gönderiler: 133
Estimable Member
Konu başlatıcı
 

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.

 
Gönderildi : 12/04/2010 15:24

(@CelalettinBinal)
Gönderiler: 4
New Member
 


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.  


 



 


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 )

 
Gönderildi : 13/04/2010 13:20

(@Anonim)
Gönderiler: 0
 

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

 
Gönderildi : 16/04/2010 12:57

(@onureray)
Gönderiler: 37
Eminent Member
 










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

 


 


 


 



 


 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

 
Gönderildi : 14/05/2010 02:08

Paylaş: