(Çözüldü)Sql kodu neden hata veriyor ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
ikut

(Çözüldü)Sql kodu neden hata veriyor ?

Mesaj gönderen ikut »

Merhaba

Select VPERLIBP.PERMASF.Z5CALKOD As SicilNo, VPERLIBP.PERMASF.Z5CALADI As Adi, VPERLIBP.PERMASF.Z5CALSOY As Soyadi, VPERLIBP.PERMASF.Z5DEPKOD As DptKodu, VPERLIBP.PERMASF.Z5BASYIL As Basyil, VPERLIBP.PERMASF.Z5BASAY As BasAy,
VPERLIBP.PERMASF.Z5BASGUN As Basgun, VPERLIBP.PERMASF.Z5PSICNO As SskSicNo, VPERLIB.PEROZLF.B76KANGRP AS KANGRP,VPERLIB.PEROZLF.B76CALKO AS BsicilNo
from VPERLIBP.PERMASF
inner join VPERLIB.PEROZLF ON sicilno=bsicilno

Arkadaşlar hata veren kod yukarda. Yapmaya çalıştıım şey ise şu... PERMASF dosyasındaki bilgileri almak. ve PERZOLF dosyasındaki Kangrubu bilgisini iki dosyadada bulunan personel sicil no üsyünden birlerştirmek. Bu inner join kullanımında ne gibi bir hata var.

Teşekkürler
En son ikut tarafından 13 Haz 2006 05:22 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
ikut

Böylede olmadı

Mesaj gönderen ikut »

Select a.Z5CALKOD As SicilNo, a.Z5CALADI As Adi, a.Z5CALSOY As Soyadi,a.Z5DEPKOD As DptKodu, a.Z5BASYIL As Basyil, a.Z5BASAY As BasAy,a.Z5BASGUN As Basgun, a.Z5PSICNO As SskSicNo, b.B76KANGRP AS KANGRP,b.B76CALKO AS BsicilNo from VPERLIBP.PERMASF a, VPERLIB.PEROZLF b
where sicilno=bsicilno
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

Kod: Tümünü seç

Select VPERLIBP.PERMASF.Z5CALKOD As SicilNo, VPERLIBP.PERMASF.Z5CALADI As Adi, VPERLIBP.PERMASF.Z5CALSOY As Soyadi, VPERLIBP.PERMASF.Z5DEPKOD As DptKodu, VPERLIBP.PERMASF.Z5BASYIL As Basyil, VPERLIBP.PERMASF.Z5BASAY As BasAy,
VPERLIBP.PERMASF.Z5BASGUN As Basgun, VPERLIBP.PERMASF.Z5PSICNO As SskSicNo, VPERLIB.PEROZLF.B76KANGRP AS KANGRP,VPERLIB.PEROZLF.B76CALKO AS BsicilNo
from VPERLIBP.PERMASF
inner join VPERLIB.PEROZLF ON sicilno=VPERLIBP.PERMASF.bsicilno
şeklinde dene, çünkü belki bsicilno VPERLIB.PEROZLF tablosunda da olan bir fielddir.
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Mesaj gönderen m_ekici »

Hata nedir? Yazımda bir hata yok.
ikut

Bsicilno bulunan bir field değil ama

Mesaj gönderen ikut »

Dediğin gibide olmadı. Bu arada VT DB' ve AS400 üzerinde bulunuyor.

İlave bilgi olarak inner join filan olmadan birinci tablodaki herşey geliyor. Mutlaka joinle ilgili bir hata yapmış olmam gerek
ikut

Hazırlanmış deyim S7 bulunamadı

Mesaj gönderen ikut »

m_ekici yazdı:Hata nedir? Yazımda bir hata yok.
İki tablodan teke teke tüm kolonları çeksem sorun olmuyor derdi nedir bulamadım
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Joinlemek istediğin alanları as ile refere etmişsin sorun burda.Alanların orjinal adını yazman gerekir.Bir de hata veren satırlar şunlar demek çözüm üretmek adına pek birşey vermiyor, hatanın ne olduğunu yaz ki daha somut yorumlar üretilebilsin..

Kolay gele..
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Ek olarak her alan için neden as kullanıyorsun, sadece Türkçeleştirmek için mi?
ikut

Çözüldü

Mesaj gönderen ikut »

aLonE CoDeR yazdı:Tablo isimlerini yazarak joinlemen gerekli çünkü referansları o şekilde ayarlamışsın, haliyle bağlantıyı kuramıyor.Bir de hata veren satırlar şunlar demek çözüm üretmek adına pek birşey vermiyor, hatanın ne olduğunu yaz ki daha somut yorumlar üretilebilsin..

Kolay gele..
Select VPERLIBP.PERMASF.Z5CALKOD As SicilNo, VPERLIBP.PERMASF.Z5CALADI As Adi, VPERLIBP.PERMASF.Z5CALSOY As Soyadi, VPERLIBP.PERMASF.Z5DEPKOD As DptKodu, VPERLIBP.PERMASF.Z5BASYIL As Basyil, VPERLIBP.PERMASF.Z5BASAY As BasAy,VPERLIBP.PERMASF.Z5BASGUN As Basgun, VPERLIBP.PERMASF.Z5PSICNO As SskSicNo, VPERLIB.PEROZLF.B76CALKOD AS BsicilNo,VPERLIB.PEROZLF.B76KANGRP AS KANGRP
from VPERLIBP.PERMASF
inner join VPERLIB.PEROZLF ON VPERLIBP.PERMASF.Z5CALKOD=VPERLIB.PEROZLF.B76CALKOD

Merhaba

yukardaki gibi denedim oldu... Yukarda zaten hata mesajınıda yazmıştım ama thread başlığına yazınca dikkat çekmedi herhalde.

Bu seferde sorun şu; bazı kayıtlar çift gelmeye başladı... kontrol olmasına rağmen neden böyle oluyorki acaba.... Buda çözüldü giriş çıkış yapılan personeller varmış...

Saygılar
En son ikut tarafından 13 Haz 2006 03:21 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

İkinci kez baktığımda mesajı editlemem gerektiğini gördüm ikinciyi aynı anda göndermişiz neyse..Join kartezyen sonuç döndüreceğinden iki kez yazması doğal.Distinct ile teke indirebilirsin.

Kolay gele..
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Kafam bugün taksit taksit çalışıyor ne hikmetse :)

Left outer,croos ve full join konularını bi incele istersen, daha stabil ve etkili çözümler üretebilirsin.

Kolay gele..
ikut

Çok sağolun arkadaşlar

Mesaj gönderen ikut »

aLonE CoDeR yazdı:İkinci kez baktığımda mesajı editlemem gerektiğini gördüm ikinciyi aynı anda göndermişiz neyse..Join kartezyen sonuç döndüreceğinden iki kez yazması doğal.Distinct ile teke indirebilirsin.

Kolay gele..
1. Neden AS kullanıyorum. VT AS 400 de duruyor ve orjinal halinde RPG ile erişiliyor. dolayısıyla değilekn isimleri çok mantıksız. Daha anlamlı olması lazımki kodu kavrayabileyim kod yazarken. Yukarda CALKOD filan biraz anlamlı görünüyor ama bir çok tabloda alan01... alan99 gibi isimler gırla

2. Senden sonra bende editledim. çiftlemesi sadece giriş çıkış yapan kayıtlardan çünkü benim kaydım çiftlemiyor ama üçleyende var.

Saygılar
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

İsimlendirme için standart kullanmıyor musun?
ikut

Son bir yardım alabilirmiyim

Mesaj gönderen ikut »

aLonE CoDeR yazdı:Kafam bugün taksit taksit çalışıyor ne hikmetse :)

Left outer,croos ve full join konularını bi incele istersen, daha stabil ve etkili çözümler üretebilirsin.

Kolay gele..
Select VPERLIBP.PERMASF.Z5CALKOD As SicilNo, VPERLIBP.PERMASF.Z5CALADI As Adi, VPERLIBP.PERMASF.Z5CALSOY As Soyadi, VPERLIBP.PERMASF.Z5DEPKOD As DptKodu, VPERLIBP.PERMASF.Z5BASYIL As Basyil, VPERLIBP.PERMASF.Z5BASAY As BasAy,VPERLIBP.PERMASF.Z5BASGUN As Basgun, VPERLIBP.PERMASF.Z5PSICNO As SskSicNo, VPERLIB.PEROZLF.B76CALKOD AS BsicilNo,VPERLIB.PEROZLF.B76KANGRP AS KANGRP
from VPERLIBP.PERMASF
inner join VPERLIB.PEROZLF ON VPERLIBP.PERMASF.Z5CALKOD=VPERLIB.PEROZLF.B76CALKOD
Where VPERLIBP.PERMASF.AYRYIL=0

Şimdi yasal olarak çıkan sonra geri giren kayıtlar çiftliyor. Halilye distinct kar etmedi. Ayryıl rakamı sıfırdan büyük olanlar join kaşında kalsın nasıl derim ?

Saygılar
ikut

Program benim değil

Mesaj gönderen ikut »

aLonE CoDeR yazdı:İsimlendirme için standart kullanmıyor musun?
bu RPG denen marmelatta değişken isimleri belli bir karakter sayısından uzun olamıyor. 6 mı 8 mi ne oyle bişi. zaten programda benim değil. ben sadece oraya erişip rapor filan hazırlıyorum

Bu arada distinct ile olmadı. where ayryıl= 0 diyebilsem işim görülecek. bunu nerde nasıl yapabilirim.

Saygılar
Cevapla