Bu sorunu bu forumdan ve diğer birçok kaynaktan çözmek için birçok farklı yol deniyorum. Bu soruna bir çözüm ya da bana doğru bir cevap verecek herhangi bir belge bulamıyorum.MySQL: Birden çok SELECT sorgusunu, aynı tabloda farklı WHERE ölçütlerini kullanarak nasıl birleştirirsiniz?
Bana bir göz atıp bakamayacağınızı merak ettim.
Teşekkür
SORUN:
Ben ligler participant_scores aşağıdaki tablolarla mermi
bir veritabanı var ben şu anda tek bir turda puanları görüntülemek mümkün duyuyorum Her seferinde bir tur ... tam olarak nasıl istersem. Ancak, her katılımcının her tur için aldığı skoru da göstermek istiyorum. 2 turumuz olduğunu varsayalım. - katılımcının adı puanı = Bu akım yuvarlak toplam puan için puan = Bu lig toplanır için yuvarlak puanlarının tüm
Currently viewing league 20, Round 1
of 2:
User Name | Score | Total Score
Tom | 10 | 200
James | 50 | 300
kullanıcı adı: benim sonuçlar ekranda çıktı böyle bir şey bakmak istiyorum.
Mysql sorgum aşağıda. Bu karışıklık için özür dilerim, yaklaşık 100 kez yeniden yazdım ve bu şu anki yol tam olarak çalışan tek yoldur.
Burada ne istiyor bu formda bir alt sorgu ise
# FIELDS
SELECT
participants.participant_id, # ID - used for functions
participants.participant_name, # NAME
participants.participant_gender, # Participant info
classes.class_name, # Class name
schools.school_name, # School name
participant_scores.participant_score, # Participant score
participant_scores.participant_score_id
# TABLES
FROM participant_scores, participants, classes, league_schools, schools, leagues, rounds
# filter leagues
WHERE leagues.league_id = 51
AND rounds.league_id = 51 # the current league we are viewing
AND rounds.round_id = 25 # the current round of the league we are viewing
# filter league schools
AND participant_scores.round_id = 25 # the current round of the league we are viewing
# filter schools allowed
AND league_schools.league_id = 51 # the current league we are viewing
# Filter schools
AND schools.school_id = league_schools.school_id
# Filter classes
AND classes.school_id = schools.school_id
AND classes.year_group_id = leagues.year_group_id
# Filter participants
AND participants.class_id = classes.class_id
# Filter participant_scores
AND participant_scores.participant_id = participants.participant_id
#Grouping
GROUP BY participants.participant_id
Merhaba, Derinlik yanıtınız için teşekkür ederiz. Yeni başlayan olduğumu ve tüm bunların benim için deneme yanılma olduğunu bilmemize izin vermeliyim. Kodumdaki hataları tanımlamama yardımcı olacak bir program kullanıyorum, ancak şu ana kadar komutumun önerilen değişikliklerinizle çalışmasını sağlayamadım. Onları yanlış girmeliyim. Kodumu burada tekrar göndermeme izin vermiyor. Sadece 240 karakterim kaldı ... Aşağıya bir cevap yazacağım. Teşekkürler! – Tom
Ayrıca, katılımcıların birçok ligin üyesi olabileceğini belirtmek isterim. Bu nedenle, sadece bu ligin bir parçası olan katılımcıları seçmek için bir kod koymayı deneyebiliriz. - Bana bir bacak verebilirsen bu senaryoyu yapabilirim. Tekrar teşekkürler! – Tom