-
Ü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
ontedi
www.ontedi.com
Kullanıcı
-
Üyelik
03.10.2013
-
Yaş/Cinsiyet
44 / E
-
Meslek
Yazılım Uzmanı, Matematikçi
-
Konum
Ankara
-
Ad Soyad
S** T**
-
Mesajlar
1118
-
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
-
Ü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
-
Üyelik
07.08.2011
-
Yaş/Cinsiyet
39 / 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
ontedi
www.ontedi.com
Kullanıcı
-
Üyelik
03.10.2013
-
Yaş/Cinsiyet
44 / E
-
Meslek
Yazılım Uzmanı, Matematikçi
-
Konum
Ankara
-
Ad Soyad
S** T**
-
Mesajlar
1118
-
Beğeniler
325 / 324
-
Ticaret
2, (%100)
Ayni sutunlar geliyorsa, alias "as" kullanarak farkli bir isimle cagirabilirsin.
www.ontedi.com
www.cizgi.site
-
Ü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
-
Ü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ı
-
Ü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