Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> 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() (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) pomózcie

Ten post edytował FiDO 12.01.2006, 01:24:18
Go to the top of the page
+Quote Post
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.
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.
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:32