![]() |
![]() ![]() |
![]() |
![]() ![]()
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
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 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To zapytanie wyglada strasznie, juz dawno takiego potworka nie widzialem i na pewno mi osobiscie nie chce sie go analizowac, ale jesli to SALDO pochodzi z jakiegos podzapytania, to powinno byc tak:
podzapytanie.saldo < 0 np: tab2.saldo < 0 Oczywiscie ja nie wiem czy to pochodzi z tab2 czy nie, tylko mowie ze musisz okreslic skad to saldo ma sie wziasc. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
tak też już próbowałem, niestety bez skutku. Zastanawiam mnie fakt że w starszej wersji MYSQL działa poprawnie
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Przy tak wielu zagnieżdżonych selektach dodaj aliasy do tabel będzie pewniej i czytelniej.
Poza tym, baza powinna Ci zwrócić w której linii jest błąd i jaki to jest błąd. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
ciekawostką jest to że jeśli w ostatniej linii:
usunę saldo < 0 zapytanie działa poprawnie jeśli zmienię tab4.name ASC na tab4.saldo ASC i usunę saldo < 0 to też działa dobrze Problemem jest warunek saldo < 0 (IMG:style_emoticons/default/sad.gif) Swoją drogą, ten CASE można uprościć do:
ten CASE jest większy, na potrzeby prezentacji uciąłem go |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zgodnie z sugestią poprzedników, pokaż treść błędu.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Zgodnie z sugestią poprzedników, pokaż treść błędu. #1054 - Nieznana kolumna 'saldo' w order clause i uporządkowane zapytanie
Ten post edytował krzesik 10.05.2022, 17:28:41 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 4.05.2019 Skąd: PHP5.6 Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem pewny, ale spróbuj zmienić to:
na to:
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem pewny, ale spróbuj zmienić to:
na to:
niestety.... #1064 - Something is wrong in your syntax obok 'AS name, tab2.masa AS masa, round((COALESCE(xx.kwota,0)-SUM(saldo)),2) AS sal...' w linii 3 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
A na pewno próbowałeś dodać aliasy? Czyli:
A początek tak:
tak, próbowałem błąd dalej taki sam. Zauważyłem dodatkowo, że jeśli dodam ten warunek po ZZZ to przechodzi, oczywiście to co mam później po UNION mam źle (bo bez warunku), ale może to będzie jakiś trop? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 19:45 |