queryler arasında işlem yapmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
queryler arasında işlem yapmak
Merhaba
Şimdi bir query i çalıştırdık. 1. tablodan a b c 2. tablodan d e f alanlarını aldık.
a ve d alanları key olsun. kısaca alanlar 1. tablodaki her kayıt için 2. tablodada 1 kayıt olsun. burda bir sorun yok. 2. tablodaki e alanıda 3. tablodaki cinsiyet kolonuna verilen koda karşılık geliyor olsun. yani 3. tablo bir parametre tablosu ve 1. tablo ile kayıt sayısı vs eşitliği yok haliyle.
Aslında öğrenmek istediğim böyle 3 lü bir join nasıl yapılır.
Geçen buna tam bir cevap alamadığımdan ve olayıda tam kapamadığımdan şimdi birden fazla query kullanıp bu qery lerden gerekli alanları bir yerlerde depolayıp yapmayı düşündüm (hoş bu işi uzatacak ama ne yapalım maksat çözüm)...
2 tane query çalışmış kayıtlarda gridde duruyor. bunların alanlarını nasıl birleştiririm. (başka bir tablo yazmadan yapmanın yolunu soruyorum)
Şimdi bir query i çalıştırdık. 1. tablodan a b c 2. tablodan d e f alanlarını aldık.
a ve d alanları key olsun. kısaca alanlar 1. tablodaki her kayıt için 2. tablodada 1 kayıt olsun. burda bir sorun yok. 2. tablodaki e alanıda 3. tablodaki cinsiyet kolonuna verilen koda karşılık geliyor olsun. yani 3. tablo bir parametre tablosu ve 1. tablo ile kayıt sayısı vs eşitliği yok haliyle.
Aslında öğrenmek istediğim böyle 3 lü bir join nasıl yapılır.
Geçen buna tam bir cevap alamadığımdan ve olayıda tam kapamadığımdan şimdi birden fazla query kullanıp bu qery lerden gerekli alanları bir yerlerde depolayıp yapmayı düşündüm (hoş bu işi uzatacak ama ne yapalım maksat çözüm)...
2 tane query çalışmış kayıtlarda gridde duruyor. bunların alanlarını nasıl birleştiririm. (başka bir tablo yazmadan yapmanın yolunu soruyorum)
Kod: Tümünü seç
select a,b,c,d,(select 3.cinsiyet from 3 where 3.e=2.e) as e from 1 join on a=d
Merhaba
Merhaba örnek açık be anlaşılır ama ben bir türlü uygulayamadım.mkysoft yazdı:Kod: Tümünü seç
select a,b,c,d,(select 3.cinsiyet from 3 where 3.e=2.e) as e from 1 join on a=d
Kod: Tümünü seç
SELECT FTD.FWTPFT AS FaturaTipi, FTD.FWNRFT AS FaturaNo, FTD.FWDTFT AS FaturaTarihi, FTD.FWCDCL AS FatMusteriNo, FTD.FWNRPA AS Ack1, FTD.FWNRBA AS Ack2, FTD.FWUMVN AS Birim, FTD.FWQTVN AS Miktar, FTD.FWPREZ AS BirimFiyat,FTD.FWIMRG AS Toplam, FTD.FWNRDC AS IrsaliyeNo, FTD.FWDTDC AS IrsaliyeTar,ANC.CDCLI AS MusteriNo, ANC.RASCL AS MusteriUnvani, ART.ARMCLV AS StokGrKod, ART.ARCDPD AS StokKodu, ART.ARDSES AS StokAdi,
(SELECT TES.FTCNPG from ERDDAT.FTTES00F TES WHERE FTD.FWNRFT=TES.FTNRDC) as VadeTipi
FROM ERDDAT.FTDET103 FTD, ERDDAT.ANCLIL02 ANC,ERDDAT.ARTIC00F ART,
WHERE FTD.FWCDCL=ANC.CDCLI AND FTD.FWMCLV=ART.ARMCLV AND FTD.FWCDPD=ART.ARCDPD
Öncelikle iyi akşamlar;
Senin yapmak istediğin olaya benzer bir olayla bende epey bir uğraştım. Aşağıdaki linkteki bilgileri bie incele istersen. Umarım yardımcı
olur.
viewtopic.php?t=16134
Takıldığın yerden yardım ederiz yine...
Senin yapmak istediğin olaya benzer bir olayla bende epey bir uğraştım. Aşağıdaki linkteki bilgileri bie incele istersen. Umarım yardımcı
olur.
viewtopic.php?t=16134
Takıldığın yerden yardım ederiz yine...
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
merhaba
Hocam olay benzesede çok farklı benim sorunumda 4-5 ayrı tablodan join var. içiçe selectle çözmek lazım ama beceremedim...Biltes yazdı:Öncelikle iyi akşamlar;
Senin yapmak istediğin olaya benzer bir olayla bende epey bir uğraştım. Aşağıdaki linkteki bilgileri bie incele istersen. Umarım yardımcı
olur.
viewtopic.php?t=16134
Takıldığın yerden yardım ederiz yine...
saygılar
Dersimiz JOIN . Arayalım ve dersimize birazcık çalışalım. Son bir kaç gündür epey konuştuk. Daha öncekilerde hesaplanırsa epey bir örnek var. Amaç; birden fazla tabloyu istenilen şekilde ilişkili alanlarla tek sorgu haline getirmek
Genel yazım aşağıdaki gibi olabilir.. Beklentiye göre LEFT JOIN yerine RIGHT JOIN, INNER JOIN, OUTER JOIN, FULL JOIN kullanılabilir. Bir birinden farkları daha önce konuşuldu.

Kod: Tümünü seç
select t1.alan1, t1.alan2, t2.alan3, t3.alan5 from tablo1 t1
left join tablo2 t2 on (t2.key_alani = t1.key_alani)
left join tablo3 t4 on (t3.key_alani = t1.key_alani)
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Merhaba
Hocam... Burda yazdığımın 10 katını webde araştırdım.. Sizin örneğiniz de komplex ama içiçiçe selectlerde yukarda belirttiğim gibi sorun var. 10 larca site link vs gezdim bir çözüm bulamadım.rsimsek yazdı:Dersimiz JOIN . Arayalım ve dersimize birazcık çalışalım. Son bir kaç gündür epey konuştuk. Daha öncekilerde hesaplanırsa epey bir örnek var. Amaç; birden fazla tabloyu istenilen şekilde ilişkili alanlarla tek sorgu haline getirmekGenel yazım aşağıdaki gibi olabilir.. Beklentiye göre LEFT JOIN yerine RIGHT JOIN, INNER JOIN, OUTER JOIN, FULL JOIN kullanılabilir. Bir birinden farkları daha önce konuşuldu.
Kod: Tümünü seç
select t1.alan1, t1.alan2, t2.alan3, t3.alan5 from tablo1 t1 left join tablo2 t2 on (t2.key_alani = t1.key_alani) left join tablo3 t4 on (t3.key_alani = t1.key_alani)
sanırım bu joinleri anlamak biraz zor oluyor, bende bazen kazıyorum.
ibexpertte tools - query builder i açıp oradan tablolardaki alanları sürükle bırak yaparak gerekli sorguyu oluştutturabilirsiniz
yaşasın üşengeçlik 



.-.-.-.-.-.-.-. ^_^
merhaba
Adavnced query tool ile yaptım zaten sorguyu. ama ondada içiçe select yok. Neyse çok kafa şişirdim galibamege yazdı:sanırım bu joinleri anlamak biraz zor oluyor, bende bazen kazıyorum.
ibexpertte tools - query builder i açıp oradan tablolardaki alanları sürükle bırak yaparak gerekli sorguyu oluştutturabilirsiniz
yaşasın üşengeçlik