pomoc w skonstruowaniu zapytania, chwilowe zacmienie umyslu ...
Sowiecki Agent - 07-07-2007 00:02
pomoc w skonstruowaniu zapytania, chwilowe zacmienie umyslu ...
Witam! posiadam w tabeli pola
id | miesiac | rok, kazdy miesiac i rok(razem) ma jeden rekord. Wpisujac np rok = 2006 i miesiac = 4 musze otrzymac rekord z najwieksza data, jezeli istnieje to rekord z miesiacem 3 i rokiem 2006 jezlei nie to najblizszy mniejszy.
MSSQL choc to pewnie roznicy w tym przypadku nie zrobi.
pozdrawiam
-- >> http://wynagrodzenie.info << darmowe 'porady prawne' wolontariuszy w zakresie rozliczeń pracowników i pracodawców, prowadzenia księgi oraz ewidencji, rozliczeń z fiskusem oraz ZUSem.
TW - 08-07-2007 00:03
On 6 Lip, 19:15, Sowiecki Agent <przemyslaw.rokicki.t...@tnijtnijkochanietnij.gaze ta.pl> wrote: > Witam! > posiadam w tabeli pola > > id | miesiac | rok, kazdy miesiac i rok(razem) ma jeden rekord. > Wpisujac np rok = 2006 i miesiac = 4 musze otrzymac rekord z najwieksza > data, jezeli istnieje to rekord z miesiacem 3 i rokiem 2006 jezlei nie > to najblizszy mniejszy. > > MSSQL choc to pewnie roznicy w tym przypadku nie zrobi. >
np.: select * from tabela where cast(cast(rok as varchar)+ '-' + cast(miesiac as varchar)+ '-01' as smalldatetime)=( select max(cast(cast(rok as varchar)+ '-' + cast(miesiac as varchar)+ '-01' as smalldatetime)) as max_data from tabela where cast(cast(rok as varchar)+ '-' + cast(miesiac as varchar)+ '-01' as smalldatetime)<cast('2006-04-01' as smalldatetime))
albo: select * from ( select max(miesiac) as miesiac, rok from tabela where (rok<2006 or (rok=2006 and miesiac<4)) group by rok ) x where rok=( select max(rok) from ( select max(miesiac) as miesiac, rok from tabela where (rok<2006 or (rok=2006 and miesiac<4)) group by rok ) y )
Sowiecki Agent - 08-07-2007 00:03
TW napisał(a): > On 6 Lip, 19:15, Sowiecki Agent > <przemyslaw.rokicki.t...@tnijtnijkochanietnij.gaze ta.pl> wrote: >> Witam! >> posiadam w tabeli pola >> >> id | miesiac | rok, kazdy miesiac i rok(razem) ma jeden rekord. >> Wpisujac np rok = 2006 i miesiac = 4 musze otrzymac rekord z najwieksza >> data, jezeli istnieje to rekord z miesiacem 3 i rokiem 2006 jezlei nie >> to najblizszy mniejszy. >> >> MSSQL choc to pewnie roznicy w tym przypadku nie zrobi. >> > > np.: > select * from tabela where cast(cast(rok as varchar)+ '-' + > cast(miesiac as varchar)+ '-01' as smalldatetime)=( > select max(cast(cast(rok as varchar)+ '-' + cast(miesiac as varchar)+ > '-01' as smalldatetime)) as max_data from tabela > where cast(cast(rok as varchar)+ '-' + cast(miesiac as varchar)+ '-01' > as smalldatetime)<cast('2006-04-01' as smalldatetime)) > > albo: > select * from ( > select max(miesiac) as miesiac, rok > from tabela > where (rok<2006 or (rok=2006 and miesiac<4)) > group by rok > ) x > where rok=( > select max(rok) from ( > select max(miesiac) as miesiac, rok > from tabela > where (rok<2006 or (rok=2006 and miesiac<4)) > group by rok > ) y > )
dziekuje.
-- >> http://wynagrodzenie.info << darmowe 'porady prawne' wolontariuszy w zakresie rozliczeń pracowników i pracodawców, prowadzenia księgi oraz ewidencji, rozliczeń z fiskusem oraz ZUSem.
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.plbajkomoda.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 |
|