Jakie zapytanie select...
jh - 01-12-2005 20:33
Jakie zapytanie select...
Chciałbym poruszać się po bazie na ekranie prezentując "jedną stronę", czyli np. 50 rekordów - potem 'page down' i kolejne 50 itd. Zapytać o ID nie bardzo mogę, bo te są nieciągłe - przecież z tabeli są usuwane rekordy. Jedyne co mi przychodzi do głowy to rozwiązanie "na piechotę". Tworzę sobie zmienną DisplayID z wartością 0 i "select * from tablica where ID > DisplayID limit 50". Przed kolejnym PageDown do DisplayID przypisuję ID ostatniego wyświetlanego rekordu i znowu to zapytanie. Czy da się to zrobić prościej - w jednym zapytaniu i bez tej zmiennej? Interesuje mnie zapytanie dla Firebird, MS SQL i MySQL.
Jacek
HERAKLES - 01-12-2005 20:33
jh wrote:
> Chciałbym poruszać się po bazie na ekranie prezentując "jedną stronę", > czyli np. 50 rekordów - potem 'page down' i kolejne 50 itd. Zapytać o ID > nie bardzo mogę, bo te są nieciągłe - przecież z tabeli są usuwane > rekordy. Jedyne co mi przychodzi do głowy to rozwiązanie "na piechotę". > Tworzę sobie zmienną DisplayID z wartością 0 i "select * from tablica > where ID > DisplayID limit 50". Przed kolejnym PageDown do DisplayID > przypisuję ID ostatniego wyświetlanego rekordu i znowu to zapytanie. Czy > da się to zrobić prościej - w jednym zapytaniu i bez tej zmiennej? > Interesuje mnie zapytanie dla Firebird, MS SQL i MySQL. > > Jacek PgSQL select ..... limit 10 offset 100 (od setnego 10 rekordów) MYSQL select ..... limit 10, 100 MSSQL select top 10 pola from (select top 110 pola ... order by pole1 asc) as se order by pole1 desc --chujnia z tym mssql są problemy z sortowaniem, więc wymyśliłem coś takiego.
MSSQL select top 10 pola into #temp_tbl from (select top 110 pola ... order by pole1 asc) as se order by pole1 desc.
Potem robie select from temp_tbl i se sortuje jak chce. a na koniec drop table temp_tbl --albo zamykam połączenie
Morff - 01-12-2005 20:33
A ja używam AnyDac (kolega Jacek wie o co chodzi) i w FetchOptions ustawiam RowsetSize na 50 :)
-- Pozdrawiam Morff ---------------------- AQQ 141151
jh - 01-12-2005 20:33
Użytkownik "Morff" <morff1@wp.pl> napisał w wiadomości news:op.s00gl6icq0kutt@nt_januszk.domain_not_set.i nvalid... >A ja używam AnyDac
AnyDac nie chce mi się zainstalować. Szuka komponentów INDY 9 i 10 i nie znajduje. Te są, przecież D2005 Pro zawiera je w sobie - instalowałem obie wersje i ścieżki dostępu są dodane.
jh
Morff - 01-12-2005 20:33
[OT] Re: Jakie zapytanie select...
Dnia 29-11-2005 o 19:11:10 jh <jh@radio.kielce.com.pl> napisał:
> AnyDac nie chce mi się zainstalować. Szuka komponentów INDY 9 i 10 i nie > znajduje. Te są, przecież D2005 Pro zawiera je w sobie - instalowałem > obie wersje i ścieżki dostępu są dodane. > > jh
przeczytaj pdf-a AnyDac_GettingStarted zawartego w katalogu DOCU z plikami AnyDac.
-- Pozdrawiam Morff ---------------------- AQQ 141151
jh - 01-12-2005 20:33
Użytkownik "Morff" <morff1@wp.pl> napisał w wiadomości news:op.s00m2ydsq0kutt@nt_januszk.domain_not_set.i nvalid... > przeczytaj pdf-a AnyDac_GettingStarted zawartego w katalogu DOCU z plikami > AnyDac.
Przeczytałem i nie pomogło. Mam Indy 9 i 10, przy ręcznym kompilowaniu pakietu też wywala błędy. Odpuszczam. Jak coś jest dobre to po prostu działa, bez dziwnego ręcznego kombinowania. A tu coś jest zwalone. Kara za D2005 ;)
jh
Rafal Bobrowski - 01-12-2005 20:33
jh napisał(a): > Chciałbym poruszać się po bazie na ekranie prezentując "jedną stronę", > czyli np. 50 rekordów - potem 'page down' i kolejne 50 itd. Zapytać o ID > [...] > Interesuje mnie zapytanie dla Firebird, MS SQL i MySQL.
Dla Firebirda to będzie tak (kolejne 50 rekordów): select first 50 skip 50 * from tablica;
Pozdrawiam, RB
Morff - 01-12-2005 20:33
Dnia 29-11-2005 o 21:16:29 jh <jh@radio.kielce.com.pl> napisał:
> Użytkownik "Morff" <morff1@wp.pl> napisał w wiadomości > news:op.s00m2ydsq0kutt@nt_januszk.domain_not_set.i nvalid... >> przeczytaj pdf-a AnyDac_GettingStarted zawartego w katalogu DOCU z >> plikami AnyDac. > > Przeczytałem i nie pomogło. Mam Indy 9 i 10, przy ręcznym kompilowaniu > pakietu też wywala błędy. Odpuszczam. Jak coś jest dobre to po prostu > działa, bez dziwnego ręcznego kombinowania. A tu coś jest zwalone. Kara > za D2005 ;) > > jh
Proponuje napisać na tamtejsze forum - Dmitry jest zajęty , ale moze warto poczekać te 2,3 dni na w miarę uniwersalny interfejs ..
-- Pozdrawiam Morff ---------------------- AQQ 141151
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
=?ISO-8859-2?Q?Narz=EAdzie_do_budowania_zapyta=F1_SQL=2C?==?I SO-8859-2?Q?_PL/PgSQL=2C_PL/SQL=2C_T-SQL?=
[ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?=
phpMyAdmin zadaje =?ISO-8859-2?Q?z=B3e_zapytania=2E=2E=2E_Dl?==?ISO-8859-2?Q?aczego=3F?=
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?=
[MySQL] Zapytanie z =?ISO-8859-2?Q?dw=F3ch_tabel_na_raz_?==?ISO-8859-2?Q?i_grupowanie_po_wsp=F3lnym_polu=2E_Jak_=3F?=
mecze sie i mecze i nic - zapytanie czesciowe
zanotowane.pldoc.pisz.plpdf.pisz.plshanti.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|