[sql][pgsql] zapytanie sql
A.L.E.C - 19-05-2007 00:01
[sql][pgsql] zapytanie sql
Jest sobie tabelka
startdate tariffid planid 2007-04-01 3 1 2007-05-01 1 1 2007-06-01 2 1 2007-05-01 1 2 2007-06-01 5 2 2007-05-01 3 3
Czyli przypisuję do planów taryfy z podaniem daty od kiedy mają obowiązywać. Zakładam, że w podanym przykładzie aktywne taryfy to 1 i 3 (w planie 3), oczekujące to 2 i 5, a przeterminowana jest 3 (w planie 1). Jak zapisać zapytanie aby sprawdzić czy np. taryfa 2 nie jest przeterminowana, albo jak wybrać wszystkie aktywne i oczekujące taryfy?
-- Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252 LAN Management System Developer http://lms.org.pl
hubert depesz lubaczewski - 19-05-2007 00:01
On 2007-05-17, A.L.E.C <alec1@poczta.onet.pl> wrote: > Jest sobie tabelka > > startdate tariffid planid > 2007-04-01 3 1 > 2007-05-01 1 1 > 2007-06-01 2 1 > 2007-05-01 1 2 > 2007-06-01 5 2 > 2007-05-01 3 3 > Czyli przypisuję do planów taryfy z podaniem daty od kiedy mają > obowiązywać. Zakładam, że w podanym przykładzie aktywne taryfy to 1 i 3 > (w planie 3), oczekujące to 2 i 5, a przeterminowana jest 3 (w planie > 1). Jak zapisać zapytanie aby sprawdzić czy np. taryfa 2 nie jest > przeterminowana, albo jak wybrać wszystkie aktywne i oczekujące taryfy?
przeterminowana jest jeśli jest jakas inna w tym samym planie, ale o pozniejszym startdate (ale mniejszym od teraz!). czyli: select t.* from tabelka t where exists (select * from tabelka t2 where t2.plainid = t.planid and t2.startdate > t.startdate and t2.startdate <= now()::date);
sprawdzenie aktywnych i oczekujących. czyli wszystkich nie przeterminowanych.
select t.* from tabelka t where not exists (........)
depesz
-- quicksil1er: "postgres is excellent, but like any DB it requires a highly paid DBA. here's my CV!" :) http://www.depesz.com/ - blog dla ciebie (i moje CV)
A.L.E.C - 19-05-2007 00:01
hubert depesz lubaczewski napisał(a):
> przeterminowana jest jeśli jest jakas inna w tym samym planie, ale o > pozniejszym startdate (ale mniejszym od teraz!). > czyli: > select t.* from tabelka t where exists (select * from tabelka t2 where > t2.plainid = t.planid and t2.startdate > t.startdate and t2.startdate <= > now()::date);
dzięki, coś ciężko mi się dzisiaj myśli ;)
-- Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252 LAN Management System Developer http://lms.org.pl
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
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
[MySQL]: Dodanie zliczania =?ISO-8859-2?Q?rekord=F3w_do_rozb?==?ISO-8859-2?Q?udowanego_zapytania?=
zapytanie do =?ISO-8859-2?Q?dw=F3ch_tabel_z_limitem_wier?==?ISO-8859-2?Q?szy?=
[Oracle] =?ISO-8859-2?Q?=A3=B1czenie_wierszy_z_zapytania_?==?ISO-8859-2?Q?w_jeden_string?=
zanotowane.pldoc.pisz.plpdf.pisz.plmorebeer.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 |
|