![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 1 Dołączył: 31.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Aliasy w MySQL działają na zasadzie:
SELECT cos as v, cos2 as vu itd. A ja chcę przyspieszyc prace i miec: SELECT * ... no właśnie, wszystko z jakimś aliase - ustalonym w tym zapytaniu, czy zatem da się z tabeli id_user | login SELECT *... aby wyświetlił wszystkie pola bazy z prefiksem u. czyli u.id_user itd. bez konieczności wpisywania w zapytanie pobieranych komórek. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Podaj może jakieś przykładowe dane i jaki efekt chcesz uzyskać, bo ja póki co nie wiem o co Ci chodzi.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 1 Dołączył: 31.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Generalnie chodzi o to - dla dowolnej tabeli w bazie - że select ma np. format:
SELECT * FROM.... `users`: id_user | login A ja chcę jednym zapytaniem, maksymalnie uproszczonym, pobrać dane z prefiksem (jako 'aliasy'): Czyli wykonać bezpośrednio zapytanie: SELECT id_user as u.id_user, login as u.login FROM... Jeśli mam 30 pól w bazie, to nie jest wydajnym sposób zapisywania każdego z nich w zapytaniu jako: ... pole1 as p.pole1, pole 2 as p.pole2. Po co to? Kiedy pobieram dane LEFT JOIN lub innym typem, nie uzyskam w wykonanym zapytaniu danych z pól, które występują w obu tabelach ('dublują się'). Np. id_user w dwóch tabelach mają identyczne wartości, ale ich nie pobiorę w JOIN'ie. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 1 Dołączył: 31.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Hmm, jeśli wezmę:
`users`: id_user | login `avatars`: (załóżmy, że user może mieć x avków, stąd ta tabela) id_avatar | id_user | link to: SELECT * FROM users LEFT JOIN avatars ON (users.id_user = avatars.id_users) NIE zwrócie nam w wyniku id_user, prawda? Group by? |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Chyba raczej powinineneś odwrotnie zapisać to zapytanie: najpierw wybierasz dane z avatars, a później dołączasz tabelę użytkowników. No ale nieważne. Twój kod zwróci takie pola:
id_user, id_avatar, login, link Po co dublować id_user? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 1 Dołączył: 31.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
W takim wywołaniu wyrzuciło mi puste id_user, a reszte danych ok.
Pomogło docelowo group by. Gracias, |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:13 |