🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#195029
From: Adam M
Date: Wed, 13 Jul 2016 18:12
64 lines
2746 bytes
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)

- w join
SELECT R.ID, R.IMIE FROM RODZICE R 
JOIN DZIECI D ON D.IDRODZICA = R.ID 
JOIN ZABAWKI Z ON Z.IDDZIECKA = D.ID and z.id not in (1)



On Wednesday, July 13, 2016 at 9:22:43 AM UTC-4, Roman Tyczka wrote:
> Hi,
> 
> 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: <27635872-bb14-41fa-946a-a5d918751da1@googlegroups.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!news.glorb.com!jk6no22217225igb.0!news-out.google.com!d68ni6570ith.0!nntp.google.com!jk6no22217216igb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <swisjwkg9lsr.dlg@tyczka.com>

Show Full Headers
Complete Article Headers
X-Received: by 10.129.87.202 with SMTP id l193mr7509802ywb.4.1468433556855;        Wed, 13 Jul 2016 11:12:36 -0700 (PDT)
X-Received: by 10.157.27.242 with SMTP id v47mr296148otv.16.1468433556490; Wed, 13 Jul 2016 11:12:36 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!jk6no22217225igb.0!news-out.google.com!d68ni6570ith.0!nntp.google.com!jk6no22217216igb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.bazy-danych
Date: Wed, 13 Jul 2016 11:12:36 -0700 (PDT)
In-Reply-To: <swisjwkg9lsr.dlg@tyczka.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=70.89.204.241; posting-account=aFGPVQoAAADngh59qlchYygiuB87zBBU
NNTP-Posting-Host: 70.89.204.241
References: <swisjwkg9lsr.dlg@tyczka.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <27635872-bb14-41fa-946a-a5d918751da1@googlegroups.com>
Subject: Re: Zapytanie eliminujące bez
 podzapytań (master-detail-detail)
From: Adam M <amorawski@magna-power.com>
Injection-Date: Wed, 13 Jul 2016 18:12:36 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit