SELECT s.id_sam AS id_sam_s, s.nr_zas, s.masa, k.*, sum(c.waga * c.ilosc) AS razem_waga, c.id_sam FROM samochod s, karta k, czesc c WHERE s.id_sam=k.id_sam AND k.stan=1 GROUP BY id_sam_s;
To polecenia ma za zadanie :
Wybrać odpowiednie pola z tabel samochod i karta. To dziala OK. Dla mnie schody sie zaczęły w momencie
sumowania : sum(c.waga * c.ilosc). Jesli zapytanie wyglada jak wyzej, sumuje te wartosci dla kazdego znalezionego wiersza - w kazdej razem_waga jest taka sama waga.
Jesli natomiast zapytam sie tak:
SELECT s.id_sam AS id_sam_s, s.nr_zas, s.masa, k.*, sum(c.waga * c.ilosc) AS razem_waga, c.id_sam FROM samochod s, karta_demontazu k, czesc c WHERE s.id_sam=k.id_sam AND k.stan=1 AND k.id_sam=c.id_sam GROUP BY id_sam_s;
zsumuje pola z tabeli czesc powiazane z tabelą karta, ale nie wyswietli tych wierszy które nie mają czego sumować (czyli po prostu nie zgadza się k.id_sam=c.id_sam). Jak wyswitlic te wiersze

Tabela karta jest połączona z tabelą czesc zero/wiele.