🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi.bazy-danych
Article #85

Bylo: podwojne filtrowanie -- przyklad [SQL]

#85
From: Maciej "MACiAS" Pilichowski
Date: Wed, 31 Mar 1999 08:21
54 lines
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-mail

Show 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