[]

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ı.

 
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?

  • 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
  • surprise  (17.12.11 09:59:11 ~ 13:03:47) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.