[Firebird]Kilka zapytań zebrać w jedno
Floran - 10-03-2007 00:02
[Firebird]Kilka zapytań zebrać w jedno
Witam !
Wyciągam dane z kilkunastu tabel. Robię to w kilku zapytaniach nastepujących po sobie. Wyniki przekierowuje do tabel jakichś tam powiedzmy TEMPx. W kilku kolejnych krokach wykonuję kolejne zapytania na kolejnych TEMPx dokładając za kolejnym pytaniem kolejne tabele, kolumny, itp. Wygląda to mniej więcej tak :
insert into temp1 select * from tabela .... ..... ..... <koniec>
insert into temp2 select * from temp1 ..... ..... <koniec>
insert into temp3 select * from temp2 ...... ...... <koniec> itd.
Takich zapytań mam czasem 8-10 i wykonując to strasznie mnie to absorbuje, gdyż muszę czekać na wykonanie zapytan aby wykonać następne. Zapewne jest to mało rozsądny pomysł ale jakoś tak robię - w każdym kroku analizuję poprawności wyników budując w ten sposób jedno wielkie zapytanie które po 8-10 zapytaniach prowadzi mnie do celu. Jak już mam takie zapytanie całościowe gotowe mógłbym to jakoś wszystko w jedną całość ubrać, tylko właśnie tu mam problem - nie wiem jak to zrobić ? Możecie coś podpowiedzieć ?
Baza Firebird, używam IBExperta.
pozdrawiam
Tdobe - 11-03-2007 00:02
=?iso-8859-2?q?Re:_Kilka_zapyta=F1_zebra=E6_w_jedno?=
od tego masz procedury skladowane!!!
Floran - 13-03-2007 00:04
> od tego masz procedury skladowane!!!
Możesz podać przykład do mojego przypadku albo jakiś prosty abym mógł na nim odwzorować mój problem czy to dużo pisania ?
Tdobe - 13-03-2007 00:04
=?iso-8859-2?q?Re:_Kilka_zapyta=F1_zebra=E6_w_jedno?=
podaj konkretny kod
Floran - 17-03-2007 00:02
Użytkownik "Tdobe" <tdoberman@gmail.com> napisał w wiadomości news:1173725794.030715.30320@t69g2000cwt.googlegro ups.com... > podaj konkretny kod
Hmm, nie chodzi mi o konkretne rozwiązanie kilkunastu zapytań, lecz ogólnie jak to zrobić. Docelowy wynik zapytania składa się z 10-12 zapytań... Każde kolejne zapytanie wynika z poprzedniego.
insert into temp1 select kod, nazwa, symbol, ilosc, data from tab1 left outer join tab2 on tab1.kod = tab2.kod where symbol = 'ABC' and ilosc > '100'
insert into temp2 select * from temp1 t1 where t1.data = (select max(data) from temp1 t2 where t1.kod=t2.kod)
insert into3 select kod, nazwa, symbol, sum(ilosc) as SUMA from temp2 from tab3
itd...
To jest tylko przykład, tak prosty, że można to pewnie zrobić w jednym zapytaniu, lecz pokazuję tylko jak to wygląda. Mam nadzieję, że jasno się wyraziłem o co mi chodzi.
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.plptsite.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 |
|