Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Zapytanie MYSQL
krzesik
post
Post #1





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

Ostrzeżenie: (0%)
-----


Witam,
może dziwnie to zabrzmi, ale mam zapytanie które kiedyś działało poprawnie, a od pewnego momentu zgłasza mi problem że występuje w nim nieznane pole [SALDO].
Próbowałem zdiagnozować problem, ale niestety bezskutecznie. Proszę o pomoc o sam już włosy z głowy rwę....
EDIT
właśnie odkryłem, że zapytanie wykonuje się poprawnie na serwerze MYSQL55, a błąd występuje na Mariadb8

  1. SELECT name, telefon, saldo FROM
  2. (
  3. SELECT * FROM
  4. (
  5. SELECT name, saldo FROM
  6. (
  7. SELECT tab2.imie_nazwisko AS name, tab2.masa AS masa, round((COALESCE(xx.kwota,0)-SUM(saldo)),2) AS saldo, SUM(kwota) AS kwota
  8. FROM
  9. (
  10. SELECT imie_nazwisko, masa, cena, przeznaczenie, zwrot, ilosc,
  11. case when waluta='' && przeznaczenie='Punkty' then (cena*masa*ilosc)
  12. when waluta='' && przeznaczenie='Osobiste' then (-(cena*masa*ilosc)*0)
  13. else 0 end AS saldo
  14. FROM (
  15. SELECT ryczalt, imie_nazwisko AS imie_nazwisko, masa AS masa, cena AS cena, zwrot AS zwrot, waluta AS waluta, przeznaczenie AS przeznaczenie, id_book AS id_book, ilosc AS ilosc, end_pol AS end_pol FROM shot_new WHERE end_pol<='2022-05-09'
  16. ) AS tab1
  17. ) AS tab2
  18. LEFT JOIN (
  19. SELECT SUM(kwota) AS kwota, imie_nazwisko, rodzaj FROM kasa WHERE data<='2022-09-05' AND (`data`>=(SELECT MAX(`data`) FROM kasa WHERE rodzaj='BS' AND rodzaj !='BK' AND rodzaj !='BB' AND koszty!='1')) GROUP BY imie_nazwisko
  20. ) xx ON xx.imie_nazwisko=tab2.imie_nazwisko GROUP BY tab2.imie_nazwisko
  21. ) ZZZ
  22. UNION SELECT imie_nazwisko, (SUM(kwota)) FROM kasa WHERE (data<='$data_do' AND kasa.imie_nazwisko NOT IN (SELECT imie_nazwisko FROM shot_new ) AND (`data`>=(SELECT MAX(`data`) FROM kasa WHERE rodzaj='BS' AND rodzaj !='BK' AND rodzaj !='BB' AND koszty!='1'))) AND koszty <>1 GROUP BY imie_nazwisko
  23. ) AS tab3 ORDER BY tab3.name
  24. ) AS tab4
  25. LEFT JOIN uzytkownik ON tab4.name = uzytkownik.login WHERE telefon!='' AND saldo < 0 ORDER BY tab4.name ASC
  26.  
  27.  
  28.  
  29.  


z tego co zauważyłem to problemem jest na samym końcu "and saldo < 0" - bez tego zapytanie się wykonuje.

Ten post edytował krzesik 10.05.2022, 11:08:55
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:27