Article View: pl.comp.lang.delphi.bazy-danych
Article #85Bylo: podwojne filtrowanie -- przyklad [SQL]
From: Maciej "MACiAS" Pilichowski
Date: Wed, 31 Mar 1999 08:21
Date: Wed, 31 Mar 1999 08:21
54 lines
2648 bytes
2648 bytes
Hej,
Moze podam przyklad o co mi chodzi, to bedzie latwiej.
Mam sobie spis ludnosci -- jedna baza.
Mam spis typow pojazdow. W tejze liscie jest pole z nazwa dodatkowej
bazy danych zawierajacej specyficzne dane odnosnie pojazdu.
Mam liste wszystkich pojazdow. Sa tu takze pola odpowiadajace za cechy
wspolne pojazdow.
No i sa poszczegolne listy pojazdow -- samochodow, rowerow, motocykli.
Wazniejsze pola:
a) Spis ludnosci -- Id.
b) Spis typow pojazdow -- NazwaDodatkowejBazy.
c) Spis pojazdow -- IdWlasciciela, IdPojazdu /wskazuje na pojazd w
dodatkowej bazie/, IdTypuPojazdu.
Dzialanie wyobrazam sobie tak. Wybieram wlasciciela. Wybieram typ
pojazdu /np. samochod/. Pokazuje mi sie lista wszystkich samochod
goscia.
O ile wyrzucenie danych wspolnych dla pojazdow /np. liczba kol, kolor/
z listy pojazdow, to nie jest problem /Query1/:
SELECT * FROM lista_pojazdow WHERE (IdWlasciciela=Obywatele.Id) AND
(IdTypuPojazdu=ListaTypow.Id)
o tyle jest juz klopot z wyselekcjonowaniem z danej bazy dodatkowej
informacji. Idealem bylaby moznosc napisania
SELECT * FROM :NazwaDodatkowejBazy WHERE (Query1.IdPojazdu=Id)
przy ustawionym DataSource na liste typow pojazdow.
Jak na razie nie wpadam na zadne eleganckie rozwiazanie. Wstawienie do
Query2 tego co jest w Query1 do mnie nie przemawia. Moze bedzie tez
rozwiazaniem JOIN -- watek wyzej.
Prowizorycznie dorzucilem jeszcze jedno pole juz bezposrednio w
dodatkowych bazach pojazdow -- IdWlasciciela. Wtedy zapytanie dla
Query2 jest banalne. No, ale z kolei irytuje mnie nadmiarowosc danych.
Moze ktos podrzuci mi jakas ciekawa idee?
milego dnia zycze
hej
--
Maciej "MACiAS" Pilichowski http://www.torun.pdi.net/~macias/
nowe klamoty w marcu: pieniadze publiczne, W I R U S Happy99
S P R Z E D A M : oryginalne gry HalfLife i Thief, streamer Jumbo250,
lornetke z zoomem, segment CD Technics, przeciwsloneczne okulary sportowe
Technical Details
Message-ID:
<3707caae.3342053@rymunda.torun.pdi.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!news.wnaft.agh.edu.pl!news.memax.krakow.pl!news.sim.pl!lublin.pl!uw.edu.pl!news.nask.pl!orion.cst.tpsa.pl!news.torun.pdi.net!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!news.wnaft.agh.edu.pl!news.memax.krakow.pl!news.sim.pl!lublin.pl!uw.edu.pl!news.nask.pl!orion.cst.tpsa.pl!news.torun.pdi.net!not-for-mail From: macias@torun.pdi.net (Maciej "MACiAS" Pilichowski) Newsgroups: pl.comp.lang.delphi.bazy-danych Subject: Bylo: podwojne filtrowanie -- przyklad [SQL] Date: Wed, 31 Mar 1999 08:21:02 GMT Organization: Publiczny Dostep Do Internetu o/Torun Lines: 54 Message-ID: <3707caae.3342053@rymunda.torun.pdi.net> NNTP-Posting-Host: pdi105.torun.pdi.net Mime-Version: 1.0 X-Newsreader: Forte Agent 1.5/32.452 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit