MySQL - wybieranie z bazy
raker - 19-01-2007 00:11
MySQL - wybieranie z bazy
Witam wszystkich, mam mały problem z pewnym zapytaniem.
Mianowicie: zakladamy ze mamy baze typu: id | nazwa | cena
jest to baza danych jakis produktow. Produkty moga byc sorotwane po dowolnej kolumnie.
Wybieram sobie jeden produkt o id 'x' i teraz potrzebuje wybrac id produktu ktory jest wczesniej i pozniej w wynikach niz produkt 'x' [uwzgledniajac sortowanie].
dziekuje za pomoc
pozdrawiam raker
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
patryk.manterys@gmail.com - 20-01-2007 00:01
raker napisał(a): > zakladamy ze mamy baze typu: > id | nazwa | cena > > jest to baza danych jakis produktow. > Produkty moga byc sorotwane po dowolnej kolumnie. > > Wybieram sobie jeden produkt o id 'x' i teraz potrzebuje wybrac id produktu > ktory jest wczesniej i pozniej w wynikach niz produkt 'x' [uwzgledniajac > sortowanie].
SELECT * FROM produkty p where p.id like( select p1.id from produkty p1 where x < p1.id order by id limit 1 ) or p.id like( select p2.id from employee p2 where x > p2.id order by id limit 1 )
to jest jednak malo elastyczne i x musi byc wartoscia z pola po ktorym sortujesz. Czyli, jesli sortujesz po nazwie to za X podstawiasz jedna z nazw i odpowiednio modyfikujesz zapytanie wstawiajac zamiast id - nazwa. Mozesz tez uzyc wartosci MySQLa _rowid wtedy zapytanie byloby bardziej uniwersalne.
patryk.manterys@gmail.com - 20-01-2007 00:01
SELECT * FROM produkty p where p.id like ( select p1.id from produkty p1 where (select _rowid from produkty p3 where p3.id=[ID rekordu] order by p3.[kolumna_sortowania]) < p1._rowid order by [kolumna_sortowania] limit 1 ) or p.id like ( select p2.id from produkty p2 where (select _rowid from produkty p3 where p3.id=[ID rekordu] order by p3.[kolumna_sortowania]) > p2._rowid order by [kolumna_sortowania] limit 1 );
Sorry, ze dwa posty pod rzad ale nie pomyslalem od razu ze mozna by tak.
Mam nadzieje ze sie przyda Pozdrawiam, Patryk Manterys.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[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?=
MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
[MySQL] Czy da =?ISO-8859-2?Q?si=EA_wykonac_takie_powi=B1z?==?ISO-8859-2?Q?anie_mi=EAdzy_tabelami=2C_i_jak_to_odpyta=E6_? ==?ISO-8859-2?Q?=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plets2.xlx.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 |
|