Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [MySQL][PHP] Łączenie 3 tabel i wyświetlanie sumowanych wyników

Napisany przez: brzanek 5.09.2019, 08:26:20

Witam mam zapytanie które łączy trzy tabele i wyświetla sumę wartości z jednej z tabeli
Tak wygląda zapytanie

  1. $result = $mysqli->query("SELECT SUM(miesieczna_suma_opadu) AS miesieczna_suma_opadu, nr_stacji, lat_stacji, lon_stacji, nazwa_stacji, miesiac FROM stacje_meteo_wspolzedne LEFT JOIN stacje_meteo ON stacje_meteo_wspolzedne.nr_stacji = stacje_meteo.nr_stacji LEFT JOIN opad_2010 ON stacje_meteo_wspolzedne.nr_stacji = opad_2010.nr_stacji WHERE lat_stacji BETWEEN 14.194074 AND 16.822401 AND lon_stacji BETWEEN 52.618755 AND 54.579257 ORDER BY nazwa_stacji ASC");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. http://www.php.net/echo '<div>'.$row['miesieczna_suma_opadu'].'</div>';
  4. }

Niestety nic się nie pojawia
Pomoże ktoś?

Napisany przez: trueblue 5.09.2019, 08:39:15

Wykonywałeś zapytanie bezpośrednio na bazie danych?

Napisany przez: brzanek 5.09.2019, 08:54:20

Nie wykonałem w pliku php

Napisany przez: nospor 5.09.2019, 09:01:10

Skoro nie wykonales tego w pliku php to w jak to wykonales?

Napisany przez: brzanek 5.09.2019, 09:04:30

Sorry wykonałem w pliku php

Napisany przez: nospor 5.09.2019, 09:10:54

Super, to skoro juz wiemy, jak wazne jest uzywanie przecinkow, przejdzmy do rzeczy:

Skoro nic ci sie nie wyswietla to masz dwie opcje czemu
- albo warunek nie jest spelniony
- albo masz blad zapytania

Po to ci trueblue napisal, bys odpalil to na bazie bezposrednio to bys widzial od razu co jest schrzanione. A skoro nie chcesze tego zrobic na bazie to sprawdz blad bazy w php.
No i nie mieszaj obiektowego mysqli z proceduralnym bo groch z kapusta wychodzi

Napisany przez: brzanek 5.09.2019, 09:38:45

Wykonałem to zapytanie w sql

  1. SELECT SUM(`miesieczna_suma_opadu`) AS `miesieczna_suma_opadu`, `nr_stacji`, `lat_stacji`, `lon_stacji`, `nazwa_stacji`, `miesiac` FROM `stacje_meteo_wspolzedne` LEFT http://www.php.net/join `stacje_meteo` ON `stacje_meteo_wspolzedne`.`nr_stacji` = `stacje_meteo`.`nr_stacji` LEFT http://www.php.net/join `opad_2010` ON `stacje_meteo_wspolzedne`.`nr_stacji` = `opad_2010`.`nr_stacji` WHERE `lat_stacji` BETWEEN '14.194074' AND '16.822401' AND `lon_stacji` BETWEEN '52.618755' AND '54.579257'

Ale pojawił się błąd #1052 - Kolumna: 'nr_stacji' w field list jest dwuznaczna
Warunek jest spełniany tylko coś z sumowanie wyników jest nie tak
Takie zapytanie działa
  1. SELECT * FROM `stacje_meteo_wspolzedne` LEFT http://www.php.net/join `stacje_meteo` ON `stacje_meteo_wspolzedne`.`nr_stacji` = `stacje_meteo`.`nr_stacji` LEFT http://www.php.net/join `opad_2010` ON `stacje_meteo_wspolzedne`.`nr_stacji` = `opad_2010`.`nr_stacji` WHERE `lat_stacji` BETWEEN '14.194074' AND '16.822401' AND `lon_stacji` BETWEEN '52.618755' AND '54.579257'

Napisany przez: trueblue 5.09.2019, 09:40:24

W Google też pewnie nie próbowałeś poszukać problemu?
https://www.google.com/search?q=mysql+%231052

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)