<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - nieprawidłowe wskazanie na pozycję w klauzuli FROM]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=2258&amp;type=atom"/>
	<updated>2015-02-16T12:15:33Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=2258</id>
		<entry>
			<title type="html"><![CDATA[Odp: nieprawidłowe wskazanie na pozycję w klauzuli FROM]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=5438#p5438"/>
			<content type="html"><![CDATA[Wow, ale kombinujesz - widać, że obwody Ci się przegrzewają (w dobrym tego słowa rozumieniu)

Zerknij czy dobrze Cię zrozumiałem
with baza9003 (Miejscowość,Email,WWW,rodzaj_branży,pna) as (values
('Amsterdam','a@a.com','www.a.com','IT','pna1'),
('Amsterdam','a@a.com','www.a.com','IT','pna1'),
('Barcelona','b@b.com','www.b.com','IT','pna2')),
     pna (powiat,województwo,pna) as (values ('powiat 1','dolnośląskie','pna1'),('powiat 1','dolnośląskie','pna1'),('powiat 2','dolnośląskie','pna2'),('powiat 3','województwo 2','pna3')),
     Tabela_32 (powiat) as (values ('powiat 1'),('powiat 2'),('powiat 2'),('powiat 3'),('powiat 4'))
select distinct a.pna, a.Miejscowość, a.Email, a.WWW, a.rodzaj_branży
  from baza9003 a
 where 
      exists (select 1 
                from pna 
               where województwo='dolnośląskie' 
                 and exists (select 1 
                               from Tabela_32 t 
                              where t.powiat=pna.powiat)
                 and a.pna ilike '%'|| trim(pna.pna) ||'%')
order by rodzaj_branży;

Staraj się załączać informacje o tabelach (wszystko co masz po CREATE TABLE), których używasz - łatwiej udzielić odpowiedzi.
Dobra rada 
1. opisz sobie słownie co dokładnie chcesz uzyskać w efekcie końcowym zapytania. To ułatwi Ci potem pisanie selecta
2. używaj nazw tabel i kolumn tak by niosły jakąś zrozumiałą informację, to że ty wiesz co znajduje się w polu "pna" to nie znaczy, że ja mam o tym pojęcie.
3. nie jestem tego do końca pewny ale chyba nazwy powiatów w obrębie województw mogą się powtarzać, złączenie tabel "tabela_32" i "pna" może dać Ci nieprzewidywalne wyniki.]]></content>
			<author>
				<name><![CDATA[c_michal]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=627</uri>
			</author>
			<updated>2015-02-16T12:15:33Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=5438#p5438</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[nieprawidłowe wskazanie na pozycję w klauzuli FROM]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=5437#p5437"/>
			<content type="html"><![CDATA[select distinct  a.pna, a.Miejscowość, a.Email, a.WWW, a.rodzaj_branży 
from baza9003 a, 
(select powiat from Tabela_32) b,
(select distinct pna from pna where województwo='dolnośląskie' and powiat=b.powiat) p
where a.pna like '%'|| trim(p.pna) ||'%'
order by rodzaj_branży;

BŁĄD:  nieprawidłowe wskazanie na pozycję w klauzuli FROM dla tabeli "b"
LINE 4: ...m pna where województwo='dolnośląskie' and powiat=b.powiat) ...
                                                             ^
HINT:  Występuje wpis dla tabeli "b", ale nie może mieć odniesień z tej części zapytania.

********** Błąd **********

BŁĄD: nieprawidłowe wskazanie na pozycję w klauzuli FROM dla tabeli "b"
Stan SQL: 42P01
Wskazówka: Występuje wpis dla tabeli "b", ale nie może mieć odniesień z tej części zapytania.
Znak: 222


Gdzie tu jest BŁĄD pogrzebany?

jeżeli
usunę
(select powiat from Tabela_32) b,
i zamiast
and powiat=b.powiat
wpiszę
and powiat='powiat1' or   powiat='powiat2' or  powiat='powiat3' 

to wszystko działa ale nie o to mi chodzi. Chcę aby ten drugi warunek pochodził z tabeli.
Jak to zrobić?]]></content>
			<author>
				<name><![CDATA[wiesiek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1682</uri>
			</author>
			<updated>2015-02-15T13:41:27Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=5437#p5437</id>
		</entry>
</feed>
