![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam zapytanie:
Jednak pojawia się błąd: Cytat You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'member_details.mem_id=member_referrals.mem_id group by member_referrals.parent_' at line 3 Co tutaj jest źle? Ten post edytował NetJaro 20.12.2005, 17:48:30 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Ten post brzmiał:
Cytat Poprawna składnia to pole.tabela a nie jak u Ciebie tabela.pole Przy okazji zwróć uwagę na umieszczanie postów we właściwych kategoriach. Ten przenoszę. Ale jest to mój chory wymysł i nijak się ma do specyfikacji. Proszę się nim nie sugerować! -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Aha, czyli zamiast 'member_details.jointed_date' dać 'jointed_date.mamber_details' ?
Możecie mi coś podpowiedzieć co do aliasów (aby zapytanie mniej zajmowało)? P.S Przepraszam za złe umieszczenie tematu - pomyłka. Pozdrawiam. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Zamiast długich nazw tabel możesz używać ich aliasów. Alias definiujesz w sposób:
FROM bardzo_dluga_nazwa_tabeli as t1 i w całym zapytaniu możesz stosować: SELECT t1.pole1, t1.pole2 oraz w warunkach: WHERE t1.pole1= t2.pole2 (dla jakiejś innej tabeli t2) Aliasy możesz również stosować dla nazw pól, np: SELECT t1.pole1 as p1, t1.pole2 as p2 Później, przy wyciąganiu danych używasz już sobie tylko nazw p1 i p2 jako nazw pól. Nazwa aliasów mogą być dowolne, ważne jednak, by nie kolidowały z nazwami tabel i pól oraz słowami kluczowymi dla mysqla. ------------------------------------------- Update: Ten post też zmodyfikowałem. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat Poprawna składnia to pole.tabela a nie jak u Ciebie tabela.pole Pierwsze slysze. Gdzie o tym slyszales? Zawsze tak bylo i zawsze tak bedzie schemat.tabela.pole w Twoim przypadku tabela.pole. Cytat FROM bardzo_dluga_nazwa_tabeli as t1 W stanardzie SQLa nie zaleca sie stosowaine AS przed nazwa tabeli, w niektorych bazach to poprostu niedziala. Cytat member_details.joined_date >= '2005-09-30' in member_details.mem_id=member_referrals.mem_id NIe ma czegos takiego w SQLu Jesli masz agregacje w to pozostale pola musisz wymienic w GROUP BY p.s. @kszychu Po tobie bym sie takiej odpowiedzi nie spodziewal. ![]() -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
joined_date AIN'T joinTed_date
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Cytat(SongoQ @ 2005-12-20 18:56:57) Cytat Poprawna składnia to pole.tabela a nie jak u Ciebie tabela.pole Pierwsze slysze. Gdzie o tym slyszales? Radosna twórczość własna spowodowana przeciążeniem pracą, nadmiarem (niedoborem, sam już nie wiem) kawy i Bóg wie czym jeszcze. oczywiście w pierwszym poście w tym wątku napisałem takie głupoty, że jak teraz patrzę to mi wstyd! Poprawię to, by ktoś przypadkiem nie zauważył i się nie zasugerował. @NetJaro: bardzo Cię przepraszam, że wprowadziłem Cię w błąd. @songoQ: dzięki za kubeł wody na łeb, czasami jest potrzebny. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@SongoQ, czyli jak to powinno odpowiednio wyglądać?
@kszychu, OK ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
W Twoim przypadku zwracasz za duzo pol z funkcja agregujac i najoptymalniej mozna zrobic to jako podselect aby nie powtarzac po GROUP BY wszystkich pol.
Przyklad, bo niestety z Twojego zapytania nie zrozumialem co jest co.
Mam nadzieje ze pomoglem ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 15:39 |