wmaraci reklam

asp ve join sorunu

8 Mesajlar 839 Okunma
wmaraci reklam

ynskrkmz ynskrkmz WM Aracı Kullanıcı
  • Üyelik 12.07.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Master
  • Konum Manisa
  • Ad Soyad Y** K**
  • Mesajlar 27
  • Beğeniler 1 / 0
  • 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_stad_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
 

 

SMM Panel, Sosyalyuvam, Bayilik Paneli, En Uygun Panel, Takipçi Paneli
reklam

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1119
  • Beğeniler 325 / 324
  • 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

ynskrkmz ynskrkmz WM Aracı Kullanıcı
  • Üyelik 12.07.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Master
  • Konum Manisa
  • Ad Soyad Y** K**
  • Mesajlar 27
  • Beğeniler 1 / 0
  • 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_stad_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
 

 

aturkoglu aturkoglu WM Aracı Kullanıcı
  • Üyelik 07.08.2011
  • Yaş/Cinsiyet 38 / E
  • Meslek Serbest Meslek Erbabı
  • Konum Ankara
  • Ad Soyad A** T**
  • Mesajlar 212
  • Beğeniler 15 / 70
  • Ticaret 20, (%100)
İkinci kez
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
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
 

 

wmaraci
wmaraci

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1119
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
Ayni sutunlar geliyorsa, alias "as" kullanarak farkli bir isimle cagirabilirsin.
 

 

www.ontedi.com
www.cizgi.site

ynskrkmz ynskrkmz WM Aracı Kullanıcı
  • Üyelik 12.07.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Master
  • Konum Manisa
  • Ad Soyad Y** K**
  • Mesajlar 27
  • Beğeniler 1 / 0
  • 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
 

 

ynskrkmz ynskrkmz WM Aracı Kullanıcı
  • Üyelik 12.07.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Master
  • Konum Manisa
  • Ad Soyad Y** K**
  • Mesajlar 27
  • Beğeniler 1 / 0
  • 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_stad_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ı
 

 

ynskrkmz ynskrkmz WM Aracı Kullanıcı
  • Üyelik 12.07.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Master
  • Konum Manisa
  • Ad Soyad Y** K**
  • Mesajlar 27
  • Beğeniler 1 / 0
  • Ticaret 0, (%0)
tamamdır oldu hocam allah razı olsun
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al