Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> WHERE IN, wyciąganie w kolejności...
farthing
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.12.2006

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


Witam,
jest taki temat: jeśli wyciągam sobie z tabeli grupę rekordów podając ich ID w odp. kolejności w WHERE id IN (...), to w tejże kolejności postgres zwraca rekordy i b.dobrze, ale jeśli dojdzie do tego mały LEFT OUTER JOIN przy selecie, to już pojawiają się małe przekłamania w kolejności co mi wybitnie nie odpowiada.
Da się to jakoś wymusić co by się nie grzebać dodatkowo w phpie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
najtje
post
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.10.2007

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


możesz spróbować tak:

create temp table t1 with oids as select * from tamta_tabela where id in (te tam ids);
i wykonać joina wg przypisanych oids:
select * from t1 left outer join ... order by t1.oid;

Powinno sie udac.

ale się nie uda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

operator IN nie gwarantuje że wiersze zostaną zwrócone w tej kolejności w jakiej się poda id czy jakiekolwiek atrybuty wg których następuje wyszukiwanie.
Go to the top of the page
+Quote Post
farthing
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.12.2006

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


Cytat(najtje @ 9.10.2007, 15:59:30 ) *
operator IN nie gwarantuje że wiersze zostaną zwrócone w tej kolejności w jakiej się poda id czy jakiekolwiek atrybuty wg których następuje wyszukiwanie.


ano właśnie :/ no nic pehap se poradzi...
dzięki wszystkim
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 18:22