🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

PostgreSQL - dziwny błąd składni zapytania

#194275
From: Marek
Date: Fri, 06 Feb 2015 10:32
32 lines
1697 bytes
Witam,

W poniższym zapytaniu nie działa JOIN:

WITH RECURSIVE is_child(group_id) AS (
SELECT group_id FROM user_control WHERE user_control_id=21
UNION ALL
SELECT ic.group_id FROM is_child ic
JOIN user_control uc ON (uc.user_control_id=ic.group.id)
)
SELECT group_id FROM is_child;

Ponoć nie istnieje schemat ic. Gdy usunę linię z JOINem, zapytanie 
wykonuje się, czyli ic istnieje. O co może chodzić?

No i kolejna rzecz, której nie rozumiem. Jeśli zmodyfikuję drugą linię 
dodając ORDER BY:

WITH RECURSIVE is_child(group_id) AS (
SELECT group_id FROM user_control WHERE user_control_id=21 ORDER BY cośtam

to powstaje jakiś konflikt z UNION ALL (błąd składni). Gdy zmienię to na:

WITH RECURSIVE is_child(group_id) AS (
SELECT * FROM (SELECT group_id FROM user_control WHERE 
user_control_id=21 ORDER BY cośtam) AS foo

działa... Co jest grane?

-- 
Pozdrawiam,
Marek
Technical Details
Message-ID: <mb2588$m86$1@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Marek <precz@spamowi.com>
Newsgroups: pl.comp.bazy-danych
Subject: PostgreSQL - dziwny błąd składni zapytania
Date: Fri, 06 Feb 2015 11:32:35 +0100
Organization: ICM, Uniwersytet Warszawski
Lines: 32
Message-ID: <mb2588$m86$1@news.icm.edu.pl>
NNTP-Posting-Host: 89-69-222-145.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: news.icm.edu.pl 1423218760 22790 89.69.222.145 (6 Feb 2015 10:32:40 GMT)
X-Complaints-To: usenet@news.icm.edu.pl
NNTP-Posting-Date: Fri, 6 Feb 2015 10:32:40 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit