Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie wyświetlające wydatki a potem sumę
Forum PHP.pl > Forum > Bazy danych > MySQL
silverwind
Mama takie table relacje pomiędzy nimi: [User] jeden do wielu [Owner]jedne do wielu [Property]jeden do wielu [Expenses].
Chcę policzyć sumę wydatków dla każdej nieruchomości użyłem sobie takiego zapytania ale dodatkowo chciałbym, żeby wyświetlało mi te wydatki(wyświetla tylko pierwsze dla danej nieruchomości). Jak to można rozwiązać.

  1. SELECT `users`.`username`,`owner`.`name`,`property`.`name`,`expenses`.`price`,SUM(`expenses`.`price`) FROM `users` INNER JOIN `owner`ON `users`.`id`=`owner`.`user_id` INNER JOIN `property`ON `owner`.`id`=`property`.`owner_id` LEFT JOIN `expenses`ON `property`.`id`=`expenses`.`property_id` GROUP BY `property`.`id`
mmmmmmm
WITH ROLLUP tylko trochę źle działa z HAVING smile.gif
silverwind
Przy takim zapytaniu nie wiem z czego bierze się ostatnia wartość na screenie zaznaczyłem tą nieruchomość http://naforum.zapodaj.net/c158da03ab71.gif.html Ona ma tylko jeden wydatek, więc nie wiem skąd ta suma. plik sql link http://host1gb.net.pl/download.php?file=80...b067ec8174cc2a1
  1. SELECT `owner`.`name`,`property`.`name`,SUM(`expenses`.`price`) FROM `users` INNER JOIN `owner`ON `users`.`id`=`owner`.`user_id` INNER JOIN `property`ON `owner`.`id`=`property`.`owner_id` LEFT JOIN `expenses`ON property`.`id`=`expenses`.`property_id` GROUP BY `property`.`id`, `expenses`.`id`WITH ROLLUP


Próbuję to zrobić przez UNION ale wychodzi to nie uporządkowane. Dlaczego w tym zapytaniu nie mogę sortować przez
  1. ORDER BY `Property`.`id`, `SUMA`
  1. SELECT `users`.`username`,`owner`.`name`,`property`.`name`,SUM(`expenses`.`price`) AS `SUMA`
  2. FROM `users`
  3. INNER JOIN `owner`ON `users`.`id`=`owner`.`user_id`
  4. INNER JOIN `property`ON `owner`.`id`=`property`.`owner_id`
  5. LEFT JOIN `expenses`ON `property`.`id`=`expenses`.`property_id`
  6. GROUP BY `expenses`.`id`
  7. UNION
  8. SELECT `users`.`username`,`owner`.`name`,`property`.`name`,SUM(`expenses`.`price`) AS `SUMA`
  9. FROM `users`
  10. INNER JOIN `owner`ON `users`.`id`=`owner`.`user_id`
  11. INNER JOIN `property`ON `owner`.`id`=`property`.`owner_id`
  12. LEFT JOIN `expenses`ON `property`.`id`=`expenses`.`property_id`
  13. GROUP BY `Property`.`id`


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.