Giriş Yap / Kayıt Ol

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > Asp .NET

asp ve join sorunu

  #1  
Okunmamış 04 Ocak 2019, 15:18
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 12 Temmuz 2014
Yaş / Cinsiyet: 27 / Erkek
Meslek: Web Master
Konum: Manisa
Ad, Soyad: Yu... Ko...
Mesajlar: 27
Beğeniler: 0 / 1
Ticaret: 0, 0%
arkadaşlar merhaba asp ile bir sistem hazırlıyorum 3 farklı tabloyu join ile bir birine bağlayarak veri listelemem gerek fakat bir tabloyu ikikez bağlamam gerekiyor sorun yaşıyorum

tablo bir = fxtr_oynanacak_maclar
tablo iki = fxtr_takimlar
tablo üç = fxtr_stadyumlar

şimdi join ile bağlantıyı anlatıyorum

fxtr_oynanacak_maclar maçları liseliyorum fxtr_stadyumlar ile id leri eşleştirip stad adlarını yazdırıyorum aynı şekilde fxtr_takimlar tablosu ile birleştirip evsahibi_takim_id ile birleştirip ev sahibi takımıda yazdırıyorum

son olarak fxtr_oynanacak_maclar tablosundaki misafir_takim_id fxtr_takimlar tablosundaki takımla birleştirip karşılıklı takımları yazdırmak isiyorum ama son işlemi yapamadım.

kodlarım şu şekilde


<% takimid = ysadres(request.QueryString("takimid"))
Set rstkm = Server.CreateObject("ADODB.Recordset")
sql = "Select o.fxtr_maclar_id,o.fxtr_id,o.sezon_id,o.grup_id,o. mac_oynama_tarihi,o.mac_oynama_saati,o.oynanacak_s tad_id,o.ev_sahibi_takim_id,o.ev_sahibi_takim_gol, o.misafir_takim_gol,o.misafir_takim_id,o.durum, s.stad_id,s.stad_adi, t.takim_id,t.takim_adi from fxtr_oynanacak_maclar o left JOIN fxtr_stadyumlar s ON o.oynanacak_stad_id = s.stad_id left JOIN fxtr_takimlar t ON o.ev_sahibi_takim_id = t.takim_id where (o.ev_sahibi_takim_id = "&takimid&" or o.misafir_takim_id = "&takimid&") and o.sezon_id = "&aktfsznid&" and o.durum = 1 order by o.fxtr_maclar_id asc "
rstkm.Open sql, bag, 1, 1%>


çıktım


tarih saat stad adı ev sahibi takım gol - gol misafir takım
10.01.2019 15:30 15 nisan stadı a takımı 5 - 1 ?? sorun

misafir takıma bağlayamadım

yani demem lazımki misafir_takim_id = takim_id sonucu yazdır tabi takim_adi birkze ev sahibi takıma yazılmış ikinci kolona cekmek için değişken mi yapmak lazım nasıl çözüm olur

şimdiden çok teşekkürler
  #2  
Okunmamış 04 Ocak 2019, 15:47
Avatar Seçilmemiş
www.ontedi.com
 
Üyelik Tarihi: 03 Ekim 2013
Cinsiyet: Erkek
Konum: Ankara
Ad, Soyad: Se... To...
Mesajlar: 944
Beğeniler: 267 / 122
Ticaret: 2, 100%
Select a.felanca, b.felanca from

maclar as a
inner join takimlar as b on a.takim1id = b.id
inner join takimlar as c on a.takim2id = c.id
inner join stadlar as d on d.id = a.stadid
www.ontedi.com
www.cizgi.site
  #3  
Okunmamış 04 Ocak 2019, 17:00
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 12 Temmuz 2014
Yaş / Cinsiyet: 27 / Erkek
Meslek: Web Master
Konum: Manisa
Ad, Soyad: Yu... Ko...
Mesajlar: 27
Beğeniler: 0 / 1
Ticaret: 0, 0%
hocam dediğin gibi böyle çözdüm ama

<% takimid = ysadres(request.QueryString("takimid"))
Set rstkm = Server.CreateObject("ADODB.Recordset")
sql = "Select o.fxtr_maclar_id,o.fxtr_id,o.sezon_id,o.grup_id,o. mac_oynama_tarihi,o.mac_oynama_saati,o.oynanacak_s tad_id,o.ev_sahibi_takim_id,o.ev_sahibi_takim_gol, o.misafir_takim_gol,o.misafir_takim_id,o.durum, s.stad_id,s.stad_adi, t.takim_id,t.takim_adi from fxtr_oynanacak_maclar o left JOIN fxtr_stadyumlar s ON o.oynanacak_stad_id = s.stad_id left JOIN fxtr_takimlar t ON o.ev_sahibi_takim_id = t.takim_id left JOIN fxtr_takimlar z ON o.ev_sahibi_takim_id = z.takim_id where (o.ev_sahibi_takim_id = "&takimid&" or o.misafir_takim_id = "&takimid&") and o.sezon_id = "&aktfsznid&" and o.durum = 1 order by o.fxtr_maclar_id asc "
rstkm.Open sql, bag, 1, 1%>


altta takımları <%=rstkm("takim_adi")%> olarak yazıyorum iki sutundada ev sahibi takımı adı yazılıyor
Konu ynskrkmz tarafından (04 Ocak 2019, 18:31 ) değiştirilmiştir.
  #4  
Okunmamış 04 Ocak 2019, 22:22
aturkoglu Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 07 Ağustos 2011
Yaş / Cinsiyet: 33 / Erkek
Konum: Ankara
Ad, Soyad: Ab... Tü...
Mesajlar: 178
Beğeniler: 60 / 14
Ticaret: 14, 100%
İkinci kez
Alıntı:
left JOIN fxtr_takimlar z ON o.ev_sahibi_takim_id = z.takim_id
Yazdığında o.ev_sahibi_takim_id değil o.misafir_takim_id üzerinden bağla
Yani
Alıntı:
left JOIN fxtr_takimlar z ON o.misafir_takim_id = z.takim_id
Bir de left join değil inner join kullan. Left join bağladığın tabloda değer olmaması ihtimali durumunda kullanılır
  #5  
Okunmamış 04 Ocak 2019, 22:28
Avatar Seçilmemiş
www.ontedi.com
 
Üyelik Tarihi: 03 Ekim 2013
Cinsiyet: Erkek
Konum: Ankara
Ad, Soyad: Se... To...
Mesajlar: 944
Beğeniler: 267 / 122
Ticaret: 2, 100%
Ayni sutunlar geliyorsa, alias "as" kullanarak farkli bir isimle cagirabilirsin.
www.ontedi.com
www.cizgi.site
  #6  
Okunmamış 04 Ocak 2019, 22:35
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 12 Temmuz 2014
Yaş / Cinsiyet: 27 / Erkek
Meslek: Web Master
Konum: Manisa
Ad, Soyad: Yu... Ko...
Mesajlar: 27
Beğeniler: 0 / 1
Ticaret: 0, 0%
hocam dediğin düzeltmeyi yaptım ama yine karşılıklı a takımı a takımı b takımı b takımı c takımı c takımı yapıyor

benim anladığım kadarı ile takim_adi alta yazdırdığım için ilk joinin işlemini alıyor orada bir değer atamak lazım sql içinde sutun adına değişkne tanımlayabiliyormuyuz

yani takim_id misafir_takim_id - takim_adi misafir_takim_adi na dönüşsün

aşağıdada <%=rs("misafir_takim_adi")%> gibi yazdırsam çözüm olacak bence ama mümkünmü bilmiyorum
  #7  
Okunmamış 04 Ocak 2019, 22:42
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 12 Temmuz 2014
Yaş / Cinsiyet: 27 / Erkek
Meslek: Web Master
Konum: Manisa
Ad, Soyad: Yu... Ko...
Mesajlar: 27
Beğeniler: 0 / 1
Ticaret: 0, 0%
bu şekilde düzenledim ama yine hata verdi

<% takimid = ysadres(request.QueryString("takimid"))
Set rstkm = Server.CreateObject("ADODB.Recordset")
sql = "Select o.fxtr_maclar_id,o.fxtr_id,o.sezon_id,o.grup_id,o. mac_oynama_tarihi,o.mac_oynama_saati,o.oynanacak_s tad_id,o.ev_sahibi_takim_id,o.ev_sahibi_takim_gol, o.misafir_takim_gol,o.misafir_takim_id,o.durum, s.stad_id,s.stad_adi, t.takim_id,t.takim_adi, z.takim_id as yeni_takim_id,z.takim_adi as yeni_takim_adi from fxtr_oynanacak_maclar as o left JOIN fxtr_stadyumlar as s ON o.oynanacak_stad_id = s.stad_id left JOIN fxtr_takimlar as t ON o.ev_sahibi_takim_id = t.takim_id left JOIN fxtr_takimlar as z ON o.misafir_takim_id = z.yeni_takim_id where (o.ev_sahibi_takim_id = "&takimid&" or o.misafir_takim_id = "&takimid&") and o.sezon_id = "&aktfsznid&" and o.durum = 1 order by o.fxtr_maclar_id asc "
rstkm.Open sql, bag, 1, 1%>

busefer sayfa çalışmadı
  #8  
Okunmamış 04 Ocak 2019, 23:05
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 12 Temmuz 2014
Yaş / Cinsiyet: 27 / Erkek
Meslek: Web Master
Konum: Manisa
Ad, Soyad: Yu... Ko...
Mesajlar: 27
Beğeniler: 0 / 1
Ticaret: 0, 0%
tamamdır oldu hocam allah razı olsun
Cevap Yaz Favorilerime Ekle


Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > Asp .NET


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı




Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 09:12.