2014-09-21 2 views
0

약간 문제가 있습니다. 나는 phpMyAdmin을 사용한다. 나는 AVG(ws_spiel_berechnung.note)ws_spieler.note_anpassung에 먹고 싶어SELECT AVG를 연결하고 업데이트

SELECT AVG (ws_spiel_berechnung.note) as Test 
FROM ws_spiel_berechnung 
LEFT JOIN ws_spieler 
ON ws_spiel_berechnung.spieler_id = ws_spieler.id 
INNER JOIN ws_spiel ON ws_spiel.id = ws_spiel_berechnung.spiel_id 
where ws_spiel.spieltyp = 'Ligaspiel' and ws_spieler.id = 6875; 
update ws_spieler set note_anpassung = Test where id = 6875 

:

내 시도 이잖아. 예를 들어 SELECT AVG의 결과는 2,46입니다. 이제 2,46이 note_anpassung으로 업데이트되어야합니다. 그러나 이것은 작동하지 않습니다 (나는 "테스트"때문에)라고 생각합니다.

다른 질문 : ID는 단지 예일뿐입니다. 나는 모든 이드 (id 1에서 시작하고 id 1000에서 끝난다)에 이것을 원한다. 목표는 모든 ID에서 "ws_spieler.note_anpassung"에있는 AVG 메모가 있음을 나타냅니다.

Google과이 사이트를 사용하지만 이해가되지 않습니다. 네가 나를 도울 수 있으면 행복 할거야. 그리고 내 영어 죄송합니다)이 경우, 당신은 당신이 상관 하위 쿼리와 함께 원하는 것을 할 수 있다고 생각에서

답변

0

: 좋아 보인다,하지만 난 한 가지 문제가

update ws_spieler s 
    set s.note_anpassung = (select avg(sp.note) 
          from ws_spiel_berechnung sp 
          where sp. spieler_id = s.id 
          ) 
    where s.spieltyp = 'Ligaspiel' and s.id = 6875; 
+0

: 'Ligaspiel이'에서이다 "ws_spiel". ws_spiel_berechnung.id = ws_spiel.id 및 ws_spiel.typ = 'Ligatyp'인 경우 수표가 있어야합니다. 이해하십니까? 당신의 도움을 주셔서 감사합니다! – derphil

+0

안녕하세요, 다시 저입니다. 나는 여전히 같은 문제가있다. 아무도 도와 줄 수 있습니까? 감사! – derphil

+0

안녕하세요, 아무도 도와 줄 수 있습니까? 고마워요! – derphil

관련 문제