- SELECT u . * , sum(w.value) AS warn_value, count(b.id) AS num_beers
- FROM `laczekbb_users` u
- LEFT JOIN `laczekbb_warnings` w ON (w.user=u.id)
- LEFT JOIN `laczekbb_beers` b ON (b.user=u.id)
- WHERE u.id IN ( 12 )
- GROUP BY u.id ASC ORDER BY u.rank DESC
za pomocą tego zapytania chcę pobrać dane użyszkodnika, ilość piw, oraz sumę wartośći ostrzeżeń
jednak zapytania nie działa prawidłowo ponieważ:
jeden z użyszkodników ma 4 piwa oraz jedno ostrzeżenie o wartośći 1
a to zapytanie pokazuje że ma 4 piwa i 4 ostrzeżenia
w jaki sposób to napisać żeby zapytanie było optymalne, oraz działało prawidłowo ?
edit:// zrobiłem za pomocą podzapytania, działa, ale nie wiem jak to będzie z optymalnością