SQL DE CASE WHEN YAPAMADIM
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
SQL DE CASE WHEN YAPAMADIM
KOLAY GELSİN HERKESE
YA BU SORUNUMU BİR TÜRLÜ HALLADEMEDİM
YARDIMLARINIZI BEKLİYORUM :=)
assoc_tavole_parts.PART_NUMBER BURDAN NUMARA ALACAK ÖRNEK 1060
assoc_tavole_parts.FL_ESA_SOS BURDA 0 İSE SORUN YOK 1 İSE
BURAYA
esauriti_sostituiti.PN_SOSTITUITO BAKACAK BURDA 1060 BULUNCA
esauriti_sostituiti.TP_SOST_SOSTITUENTE BUNA BAKACAK S İSE DEVAM EDECEK * İSE BURDA DURACAK S İSE
BURAYI ALIP
esauriti_sostituiti.PN_SOSTITUENTE YENİ NO ÖRNEK 1061 BUNU esauriti_sostituiti.PN_SOSTITUITO EKRAR TARAYACAK VE GENE S İSE DEVAM * İSE DURACAK BU NASIL YAPILABİLİR CASE WHEN İLE ???
YA BU SORUNUMU BİR TÜRLÜ HALLADEMEDİM
YARDIMLARINIZI BEKLİYORUM :=)
assoc_tavole_parts.PART_NUMBER BURDAN NUMARA ALACAK ÖRNEK 1060
assoc_tavole_parts.FL_ESA_SOS BURDA 0 İSE SORUN YOK 1 İSE
BURAYA
esauriti_sostituiti.PN_SOSTITUITO BAKACAK BURDA 1060 BULUNCA
esauriti_sostituiti.TP_SOST_SOSTITUENTE BUNA BAKACAK S İSE DEVAM EDECEK * İSE BURDA DURACAK S İSE
BURAYI ALIP
esauriti_sostituiti.PN_SOSTITUENTE YENİ NO ÖRNEK 1061 BUNU esauriti_sostituiti.PN_SOSTITUITO EKRAR TARAYACAK VE GENE S İSE DEVAM * İSE DURACAK BU NASIL YAPILABİLİR CASE WHEN İLE ???
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: SQL DE CASE WHEN YAPAMADIM
CASE WHEN assoc_tavole_parts.FL_ESA_SOS =1 AND
((esauriti_sostituiti.PN_SOSTITUITO = assoc_tavole_parts.PART_NUMBER)
OR (esauriti_sostituiti.TP_SOST_SOSTITUENTE ='S')
AND esauriti_sostituiti.PN_SOSTITUENTE LIKE esauriti_sostituiti.PN_SOSTITUITO)
THEN esauriti_sostituiti.PN_SOSTITUENTE
ELSE assoc_tavole_parts.PART_NUMBER END AS YENIVEESKINO
BU ŞEKİLDE BİR DENEME YAPTIM AMA OLMADI :=(
ÇIKTI BU SEKİLDE KALDI
1 1 504080154 99473877 * DOGRU
14 8 99478325 99478326 * DOGRU
19 2 16609825 16609824 * DOGRU
20 12 16984331 16750331 S YANLIŞ DEVAM ETMESİ LAZIM
20 OLAN S Lİ İSE BİR DAHA DEVAM ETMESİ LAZIM BU S 1 KEREDE CIKABİLİR 2 KEREDE GELEBİLİR 10 DEFADA GELEBİLİR * BULANA KADAR DÖNGÜ DEVAM ETMESİ LAZIM NASIL YAPABİLİRİM ???
((esauriti_sostituiti.PN_SOSTITUITO = assoc_tavole_parts.PART_NUMBER)
OR (esauriti_sostituiti.TP_SOST_SOSTITUENTE ='S')
AND esauriti_sostituiti.PN_SOSTITUENTE LIKE esauriti_sostituiti.PN_SOSTITUITO)
THEN esauriti_sostituiti.PN_SOSTITUENTE
ELSE assoc_tavole_parts.PART_NUMBER END AS YENIVEESKINO
BU ŞEKİLDE BİR DENEME YAPTIM AMA OLMADI :=(
ÇIKTI BU SEKİLDE KALDI
1 1 504080154 99473877 * DOGRU
14 8 99478325 99478326 * DOGRU
19 2 16609825 16609824 * DOGRU
20 12 16984331 16750331 S YANLIŞ DEVAM ETMESİ LAZIM
20 OLAN S Lİ İSE BİR DAHA DEVAM ETMESİ LAZIM BU S 1 KEREDE CIKABİLİR 2 KEREDE GELEBİLİR 10 DEFADA GELEBİLİR * BULANA KADAR DÖNGÜ DEVAM ETMESİ LAZIM NASIL YAPABİLİRİM ???
Re: SQL DE CASE WHEN YAPAMADIM
lütfen forum kurallarına göre sorunuzu düzeltiniz.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: SQL DE CASE WHEN YAPAMADIM
şimdi düzeltmek derken anlamadım
:=(
bu sekilde bir alanım var
CASE WHEN assoc_tavole_parts.FL_ESA_SOS ='1' AND
(esauriti_sostituiti.PN_SOSTITUITO = assoc_tavole_parts.PART_NUMBER)
OR (esauriti_sostituiti.TP_SOST_SOSTITUENTE ='S')
AND (esauriti_sostituiti.PN_SOSTITUITO = esauriti_sostituiti.PN_SOSTITUENTE)
THEN esauriti_sostituiti.PN_SOSTITUENTE
ELSE assoc_tavole_parts.PART_NUMBER END AS YENIVEESKINO
yapmak istediğimi bir daha anlatacagım
assoc_tavole_parts.PART_NUMBER de bu rakam yazıyor 16750331 bu numara değişmişmi değişmemişmi
assoc_tavole_parts.FL_ESA_SOS ='1' burda 0 varsa değişmemeiş 1 varsa değişmiş demek
esauriti_sostituiti.PN_SOSTITUITO burda eski numara alanı var 16750331 bunu burda arıyor varsa
esauriti_sostituiti.PN_SOSTITUENTE burdada yeni numara var ve varsa
esauriti_sostituiti.TP_SOST_SOSTITUENTE ='S' buraya bakıyor burda S ise tekrar değişmiş demek * ise bu son murada bir daha değişmemeiş demek
değişmişse esauriti_sostituiti.PN_SOSTITUENTE yeni numarayı tekrar esauriti_sostituiti.PN_SOSTITUITO arıyor ve varsa bu iş tekrarlanıp duruyor
aşagıdaki gibi bir ekran geliyor bu sayede
yeni nu. eski nu değişim varmı yokmu
4808624 16750331 S
16750331 16750331 S
16750331 16984331 S
16984331 16984335 S
16984335 16750335 *
teşekkürler
:=(
bu sekilde bir alanım var
CASE WHEN assoc_tavole_parts.FL_ESA_SOS ='1' AND
(esauriti_sostituiti.PN_SOSTITUITO = assoc_tavole_parts.PART_NUMBER)
OR (esauriti_sostituiti.TP_SOST_SOSTITUENTE ='S')
AND (esauriti_sostituiti.PN_SOSTITUITO = esauriti_sostituiti.PN_SOSTITUENTE)
THEN esauriti_sostituiti.PN_SOSTITUENTE
ELSE assoc_tavole_parts.PART_NUMBER END AS YENIVEESKINO
yapmak istediğimi bir daha anlatacagım
assoc_tavole_parts.PART_NUMBER de bu rakam yazıyor 16750331 bu numara değişmişmi değişmemişmi
assoc_tavole_parts.FL_ESA_SOS ='1' burda 0 varsa değişmemeiş 1 varsa değişmiş demek
esauriti_sostituiti.PN_SOSTITUITO burda eski numara alanı var 16750331 bunu burda arıyor varsa
esauriti_sostituiti.PN_SOSTITUENTE burdada yeni numara var ve varsa
esauriti_sostituiti.TP_SOST_SOSTITUENTE ='S' buraya bakıyor burda S ise tekrar değişmiş demek * ise bu son murada bir daha değişmemeiş demek
değişmişse esauriti_sostituiti.PN_SOSTITUENTE yeni numarayı tekrar esauriti_sostituiti.PN_SOSTITUITO arıyor ve varsa bu iş tekrarlanıp duruyor
aşagıdaki gibi bir ekran geliyor bu sayede
yeni nu. eski nu değişim varmı yokmu
4808624 16750331 S
16750331 16750331 S
16750331 16984331 S
16984331 16984335 S
16984335 16750335 *
teşekkürler
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: SQL DE CASE WHEN YAPAMADIM
S S 99476877 504080154
S * 504080154 504330958
S S 16750331 V16750331
S S 16750331 16984331
S S 16984331 16984335
S * 16984335 16750335
mdb yada sql olarak atamadım 2 mb geçiyor 20 mb lik bir dosya özeti burda
tablo1 s
tablo2 s ve (*)
tablo3 eski numara
tablo4 yeni numara
özeti tablo1 s ise ekino yeni numara olmuş tablo 2 s ise tekrar değişmiş * ise enson nurama tablo4 de kalmış
kolay gelsin herkese
S * 504080154 504330958
S S 16750331 V16750331
S S 16750331 16984331
S S 16984331 16984335
S * 16984335 16750335
mdb yada sql olarak atamadım 2 mb geçiyor 20 mb lik bir dosya özeti burda
tablo1 s
tablo2 s ve (*)
tablo3 eski numara
tablo4 yeni numara
özeti tablo1 s ise ekino yeni numara olmuş tablo 2 s ise tekrar değişmiş * ise enson nurama tablo4 de kalmış
kolay gelsin herkese
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: SQL DE CASE WHEN YAPAMADIM
son gönderdigim dogru tablo içinde 6 alan var aslında bu 4 tabloda iş bitiyor diye 4 ünüde yazayım dedim :=)
çevirince cok büyük oluyor :=) mdb ye yazdım 3 örnek
TP_SOST_SOSTITUITO ( S ) ise değişmiş
TP_SOST_SOSTITUITO ( * ) ise PN_SOSTITUITO bunu görür digeri boş gelir
TP_SOST_SOSTITUENTE ( S ) ise tekrar değişmiş
TP_SOST_SOSTITUENTE ( * ) ise PN_SOSTITUENTE
PN_SOSTITUITO eski numara alanı TP_SOST_SOSTITUITO ( * ) ise bu numra geçerlidir yani
PN_SOSTITUENTE yeni numara alanı bu alanda bir numra varsa ve TP_SOST_SOSTITUENTE ( * ) ise bu son ve yeni numaradır TP_SOST_SOSTITUENTE ( s ) ise tekrar eski numra alanını kontrol edip bakıyor..
işte bunu anlatamadım..
örnek bir şey yaptım umaram anlatabilmişimdir..
99473877 ilk no 504330958 son no
99478326 ilk no 99478325 son no
16750331 ilk no 16750335 son no
1060 ilk no 1061 son no
çevirince cok büyük oluyor :=) mdb ye yazdım 3 örnek
TP_SOST_SOSTITUITO ( S ) ise değişmiş
TP_SOST_SOSTITUITO ( * ) ise PN_SOSTITUITO bunu görür digeri boş gelir
TP_SOST_SOSTITUENTE ( S ) ise tekrar değişmiş
TP_SOST_SOSTITUENTE ( * ) ise PN_SOSTITUENTE
PN_SOSTITUITO eski numara alanı TP_SOST_SOSTITUITO ( * ) ise bu numra geçerlidir yani
PN_SOSTITUENTE yeni numara alanı bu alanda bir numra varsa ve TP_SOST_SOSTITUENTE ( * ) ise bu son ve yeni numaradır TP_SOST_SOSTITUENTE ( s ) ise tekrar eski numra alanını kontrol edip bakıyor..
işte bunu anlatamadım..
örnek bir şey yaptım umaram anlatabilmişimdir..
99473877 ilk no 504330958 son no
99478326 ilk no 99478325 son no
16750331 ilk no 16750335 son no
1060 ilk no 1061 son no
- Dosya ekleri
-
- Veritabanı2.rar
- (10.42 KiB) 106 kere indirildi
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: SQL DE CASE WHEN YAPAMADIM
Kimse Yokmu :=))
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: SQL DE CASE WHEN YAPAMADIM
doyanın orj halini mdb ye çevirdim
yardımlarınızı esirgemeyin lütfen çıldırdım :=))
http://www.hemenkap.com/butablo.rar
yardımlarınızı esirgemeyin lütfen çıldırdım :=))
http://www.hemenkap.com/butablo.rar
-
- Üye
- Mesajlar: 122
- Kayıt: 31 Tem 2010 06:38
Re: SQL DE CASE WHEN YAPAMADIM
bir kişide bir akıl versin yada yardım etsin yaws sitede bir tek ben varım gibi hissetmeye başladım :=))))))
Re: SQL DE CASE WHEN YAPAMADIM
s.a.
Yukardaki mesajında yaptığın kontrol işlemlerini yapan bir stored procedure yapsan daha iyi olur gibime geldi.
Yukardaki mesajında yaptığın kontrol işlemlerini yapan bir stored procedure yapsan daha iyi olur gibime geldi.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: SQL DE CASE WHEN YAPAMADIM
link çalışmıyor ve neden böyle bir tasarım yaptığınızı merak ettim doğrusu .