[]
Mysql Yine Soru
dün sorduğuma yanıt alamamıştım. birkaç yöntemle uğraştım o sırada ama bir sonucu olmadı. o yüzden tekrar sormak istiyorum;
2-3 gündür üstünde uğraşıyorum ama bi arpa boyu yol alamadım. Yeniyim, acemiyim bu işlerde ama deneme yanılmayla öğrenmeye çalışıyorum.
2 tane tablom var diyelim:
maclar_tablosu:
takimlar | attigi|yedigi| deplasmanevsahibi
arsenal----- 2-----3-----------1
manchester-- 3-----0-----------2
göztepe----- 4-----1-----------1
karsiyaka--- 2-----4-----------1
besiktas---- 2-----0-----------1
stoke city-- 0-----5-----------2
arsenal----- 4-----2-----------1
west brom--- 1-----0-----------1
falan diye sıralanıyor. yani aynı takımın birden çok maçı yer alıyor anlayacağınız. ve skorlar yer alıyor burada. evsahibi/deplasman kodlarıyla da o maçı kazanıp kaybettiğini anlıyorum.
neyse, şimdi ikinci tablom da şöyle;
takimlar_tablosu:
takimlarid | takimlar | kazandigi | kaybettigi .......
1------------arsenal
2------------besiktas
3------------manchester
4------------juventus
5------------göztepe
6------------karsiyaka
şeklinde.
istiyorum ki, maç ekranındaki maçlarda istatistik çalışmaları yapıp Takimlar_tablosu'na aktarayım bunları. Ama nasıl yapacağımı bir türlü bulamadım. Yani, maçlar tablosunda arsenal 20 kez maç mı yapmış? 13 kez kazanmış, 7 kez kaybetmiş yazsın takimlar_tablosu'nda. Ya da 14 kez üst 6 kez alt bitmiş maçları yazsın.
Ama update ile bir türlü yapamadım bunu. Hem işlem yaptıramadım update ile hem de birinci satıra ne yazarsa tüm satırlara onu yazıyor. Ve grup şeklinde nasıl denkleştireceğimi bulamadım maçları.
2-3 gündür üstünde uğraşıyorum ama bi arpa boyu yol alamadım. Yeniyim, acemiyim bu işlerde ama deneme yanılmayla öğrenmeye çalışıyorum.
2 tane tablom var diyelim:
maclar_tablosu:
takimlar | attigi|yedigi| deplasmanevsahibi
arsenal----- 2-----3-----------1
manchester-- 3-----0-----------2
göztepe----- 4-----1-----------1
karsiyaka--- 2-----4-----------1
besiktas---- 2-----0-----------1
stoke city-- 0-----5-----------2
arsenal----- 4-----2-----------1
west brom--- 1-----0-----------1
falan diye sıralanıyor. yani aynı takımın birden çok maçı yer alıyor anlayacağınız. ve skorlar yer alıyor burada. evsahibi/deplasman kodlarıyla da o maçı kazanıp kaybettiğini anlıyorum.
neyse, şimdi ikinci tablom da şöyle;
takimlar_tablosu:
takimlarid | takimlar | kazandigi | kaybettigi .......
1------------arsenal
2------------besiktas
3------------manchester
4------------juventus
5------------göztepe
6------------karsiyaka
şeklinde.
istiyorum ki, maç ekranındaki maçlarda istatistik çalışmaları yapıp Takimlar_tablosu'na aktarayım bunları. Ama nasıl yapacağımı bir türlü bulamadım. Yani, maçlar tablosunda arsenal 20 kez maç mı yapmış? 13 kez kazanmış, 7 kez kaybetmiş yazsın takimlar_tablosu'nda. Ya da 14 kez üst 6 kez alt bitmiş maçları yazsın.
Ama update ile bir türlü yapamadım bunu. Hem işlem yaptıramadım update ile hem de birinci satıra ne yazarsa tüm satırlara onu yazıyor. Ve grup şeklinde nasıl denkleştireceğimi bulamadım maçları.
buraya yazdiginiz maclar tablonuz yetersiz gozukuyor. maclar tablonuzdan kim ile kimin mac yaptigi cikarilamiyor.
onun disindan sorunlarinizi daha spesifik yazarsaniz yardimci olabilirim. ornegin 'update ile islem yaptiramadim' derken sorununuz nedir?
onun disindan sorunlarinizi daha spesifik yazarsaniz yardimci olabilirim. ornegin 'update ile islem yaptiramadim' derken sorununuz nedir?
- orcu (17.12.11 09:52:58 ~ 09:53:18)
update takimlar_tablosu
set kazandigi = (select count(1) from maclar_tablosu where maclar_tablosu.takimlar = takimlar_tablosu.takimlar and attigi>yedigi)
şeklinde diğer istatistikler için de update yazılabilir.
not: update şart değil, sorgular ile de aynı sonuca ulaşabilirsin.
select takimlar,
galibiyet = (select count(1) from maclar_tablosu where maclar_tablosu.takimlar = takimlar_tablosu.takimlar and attigi>yedigi),
maglubiyet = (select count(1) from maclar_tablosu where maclar_tablosu.takimlar = takimlar_tablosu.takimlar and attigi<yedigi),
beraberlik = (select count(1) from maclar_tablosu where maclar_tablosu.takimlar = takimlar_tablosu.takimlar and attigi=yedigi)
from takimlar_tablosu
set kazandigi = (select count(1) from maclar_tablosu where maclar_tablosu.takimlar = takimlar_tablosu.takimlar and attigi>yedigi)
şeklinde diğer istatistikler için de update yazılabilir.
not: update şart değil, sorgular ile de aynı sonuca ulaşabilirsin.
select takimlar,
galibiyet = (select count(1) from maclar_tablosu where maclar_tablosu.takimlar = takimlar_tablosu.takimlar and attigi>yedigi),
maglubiyet = (select count(1) from maclar_tablosu where maclar_tablosu.takimlar = takimlar_tablosu.takimlar and attigi<yedigi),
beraberlik = (select count(1) from maclar_tablosu where maclar_tablosu.takimlar = takimlar_tablosu.takimlar and attigi=yedigi)
from takimlar_tablosu
- surprise (17.12.11 09:59:11 ~ 13:03:47)
1