Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> alfabetyczne segregowanie, Pisze w bardzo nietypowej sprawie ...
invx
post
Post #1





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


pobieram dane z bazy

Kod
wybierz z tabela11
{
   wybierz z tabela2 gdzie lgoin=tabela1[id_usera]
   {
        tabela1[aaa];tabela2[login];
   }

}


i chce dane posegregowac wg loginu z tabeli2 ... jesli dam ORDER BY login w drugim zapytaniu, niedziala ...

moze jakos do tablicy przypisac najpierw dane i potem multi_sort() questionmark.gif pomózcie

Ten post edytował FiDO 12.01.2006, 01:24:18


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
NuLL
post
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Napewno dziala tylko cos schrzaniles.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
SongoQ
post
Post #3





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%)
-----


@invx Twierdziesz ze optymalizator nie rozumie Twojego poprawnego kodu SQLa?

Napisz zapytanie jakie wysylasz do bazy, wtedy ktos CI pomoze, trudno jest zgadnac jakie masz tam zapytanie.


--------------------
Go to the top of the page
+Quote Post
bendi
post
Post #4





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


Moja szklana kula coś mówi, że bazka zwraca komunikat o dwuznaczności kolumny, penwie zapytanie wygląda jakoś tak:

Kod
SELECT * FROM tabela1 JOIN tabela2 using( id ) ORDER BY login;


No i okazuje się, że mając w obu tabelach kolumnę login zapytanie nie chce działać, a baza zwraca jakiś tajemniczy błąd (ambiguous).

Proponuję tak:
Kod
SELECT
   *
FROM
   tabela1 t1
   JOIN tabela2 t2 USING( id )
ORDER BY
   t2.login


... ale to tylko szklana kula i może się mylić...


--------------------
Go to the top of the page
+Quote Post
bigZbig
post
Post #5





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


A moim zdaniem kolega nie umie poprostu tworzyc zapytan pobierajacych dane z wiecej niz jednej tabeli

Mozna tez tak

Kod
SELECT * FROM table1 t1, table2 t2 WHERE t1.id=t2.id ORDER BY t2.login;


W sumie to rownoznaczne z powyzszym ale bardziej intuicyjne dla poczatkujacych zwlaszcza przy laczeniu danych z wiekszej liczby tabel.


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





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%)
-----


Spoko podobaja mi sie te posty, pytanie wsumie nie padlo a kazdy ma jakas wizje gdzie ewentualnie invx zrobil blad. Moze tak zaczniemy przewidywac przyszlosc?

Zamykam


--------------------
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:20