Article View: pl.comp.bazy-danych.msaccess
Article #125031Re: Poznaczenie najniższego pozimu
From: Krzysztof Naworyta
Date: Tue, 19 Aug 2008 12:45
Date: Tue, 19 Aug 2008 12:45
62 lines
2050 bytes
2050 bytes
Użytkownik wrote: | mam problem z odznaczeniem poziomu szczegółowości rekordu. | | mamy rekordy: | ID wartość | 1 9 | 1-1 2 | 1-2 3 | 1-3 4 | 2 6 | 2-1 6 | 2-1-1 4 | 2-1-2 2 | 3 7 | | | | Chodzi o to, że chcę wyselekcjonować tylko te rekordy o nie ma nić | podżednego Czyli 1-1, 1-2, 1-3, 2-1-1, 2-1-2, 3 | | Czy ktoś ma może pomysł jak to zrobić? np: SELECT t1.* FROM Tabela1 t1 LEFT JOIN Tabela1 t2 ON t2.id like t1.id & "-*" WHERE t2.id Is Null ale IMHO dużo lepiej będzie, jeśli wprowadzisz pole klucza nadrzędnego: ID, ParentID, wartość 1 NULL ... 1-1 1 1-2 1 1-3 1 2 NULL 2-1 2 2-1-1 2-1 2-1-2 2-1 3 NULL wtedy zapytanie o "liście": select * from tabela1 t1 where not exists (select * from tabela1 t2 where t1.id = t2.ParentId) oczywiście nie załatwia to wszelkich zapytań drzewkowych, albo wymaga podejścia rekurencyjnego. Albo jeszcze inne podejście drzewkowe by Joe Celko. -- KN
Technical Details
Message-ID:
<g8ef91$sft$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mailReferences:
<bf81ef25-de09-40f3-a09f-8439041d4bc7@56g2000hsm.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail From: "Krzysztof Naworyta" <k.naworyta@datacomp.com.pl> Newsgroups: pl.comp.bazy-danych.msaccess Subject: Re: Poznaczenie najniższego pozimu Date: Tue, 19 Aug 2008 14:45:20 +0200 Organization: Onet.pl Lines: 63 Message-ID: <g8ef91$sft$1@news.onet.pl> References: <bf81ef25-de09-40f3-a09f-8439041d4bc7@56g2000hsm.googlegroups.com> NNTP-Posting-Host: azc98.internetdsl.tpnet.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1219149921 29181 83.18.132.98 (19 Aug 2008 12:45:21 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Tue, 19 Aug 2008 12:45:21 +0000 (UTC) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-Sender: isNb2RK0ghBqVJPEt5vfjsjJSvxj2GTy X-Newsreader: Microsoft Outlook Express 6.00.2900.5512 X-Priority: 3 X-MSMail-Priority: Normal Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit