🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #195031

Re: Zapytanie eliminujące bez podzapytań (master-detail-detail)

#195031
From: Roman Tyczka
Date: Wed, 13 Jul 2016 20:43
70 lines
2894 bytes
To nie zadziała, warunkiem było, żeby odrzucało rodziców, których choćby
jedno dziecko ma lalkę. Zauważ, że MARIA ma dwie córki, JULIE i ZOSIE, i
mimo, że tylko jedna z nich ma lalkę to MARIA już powinna być pominięta w
wyniku, a nie będzie, bo załapie się przez drugą córkę.
I to jest właśnie problem.
Inny pomysł?

-- 
pozdrawiam
Roman Tyczka


On Wed, 13 Jul 2016 11:12:36 -0700 (PDT), Adam M wrote:
> mozna to zrobic na dwa sposoby:
> eliminacja w where lub w join
> 
> -> w where
> SELECT R.ID, R.IMIE FROM RODZICE R 
> JOIN DZIECI D ON D.IDRODZICA = R.ID 
> JOIN ZABAWKI Z ON Z.IDDZIECKA = D.ID 
> WHERE z.id not in (1)
> 
>> Mam 3 tabelki w relacji master-detail-detail:
>> RODZICE
>> ID|  IMIE
>>  1| MARIA
>>  2| JAN
>>  3| KATARZYNA
>>  4| PIOTR
>> 
>> DZIECI
>> ID|   IMIE| ID RODZICA
>>  1| JULKA | 1
>>  2| ZOSIA | 1
>>  3| HENIU | 2
>>  4| ZUZIA | 3
>>  5| VIOLA | 4
>> 
>> ZABAWKI
>> ID| NAZWA | ID DZIECKA
>>  1| LALKA | 1
>>  2| AUTKO | 2
>>  3| KLOCKI| 3
>>  4| PIŁKA | 4
>>  5|   GRA | 5
>>  6| PISTOL| 3
>>  7| LALKA | 4
>> 
>> Każde dziecko może mieć kilka zabawek, każdy rodzic kilkoro dzieci.
>> Jak za pomocą jednego selecta wydobyć tylko tych rodziców, których
dzieci
>> nie mają określonych zabawek, np. lalki?
>> 
>> Z powyższych danych zapytanie ma zwrócić tylko JANA i PIOTRA,  bo
dziecko
>> MARII oraz dziecko KATARZYNY mają lalkę.
>> 
>> SELECT R.ID, R.IMIE FROM RODZICE R
>> JOIN DZIECI D ON D.IDRODZICA = R.ID
>> JOIN ZABAWKI Z ON Z.IDDZIECKA = D.ID
>> WHERE  ???
>> 
>> ps. umiem to zrobić z podzapytaniem w sekcji where, ale chciałbym się
>> dowiedzieć czy można prościej
>> 
>> 
>> -- 
>> pozdrawiam
>> Roman Tyczka
Technical Details
Message-ID: <1ov3gu6lpwyr7.dlg@tyczka.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!cyclone01.ams2.highwinds-media.com!voer-me.highwinds-media.com!peer01.am1!peering.am1!peer04.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <swisjwkg9lsr.dlg@tyczka.com> <27635872-bb14-41fa-946a-a5d918751da1@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!cyclone01.ams2.highwinds-media.com!voer-me.highwinds-media.com!peer01.am1!peering.am1!peer04.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: Roman Tyczka <noemail@because.no>
Subject: Re: Zapytanie eliminujące bez
 podzapytań (master-detail-detail)
Newsgroups: pl.comp.bazy-danych
User-Agent: 40tude_Dialog/2.0.15.84
MIME-Version: 1.0
Sender: romek@tyczka.no.found
References: <swisjwkg9lsr.dlg@tyczka.com> <27635872-bb14-41fa-946a-a5d918751da1@googlegroups.com>
Date: Wed, 13 Jul 2016 22:43:44 +0200
Message-ID: <1ov3gu6lpwyr7.dlg@tyczka.com>
Lines: 70
Organization: Telekomunikacja Polska
NNTP-Posting-Host: nat.wave.com.pl
X-Trace: 1468442626 unt-rea-a-01.news.neostrada.pl 12540 91.224.116.2:18931
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Body-CRC: 2844439172
X-Received-Bytes: 2756
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit