<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - Problem z view]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=1216&amp;type=atom"/>
	<updated>2012-03-14T21:11:28Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=1216</id>
		<entry>
			<title type="html"><![CDATA[Odp: Problem z view]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=3533#p3533"/>
			<content type="html"><![CDATA[To nie wina widoków po prostu musisz stosować do łączenia tabel klauzuli left join
dla 2 tabel powinno to wyglądać tak
select *
from sl_graf s
left join biblioteka_pic b on s.id=b.graf_key
To tylko przykład ilustrujący problem. Jesli tabela biblioteka_pic nie będzie miała rekordów to tabela sl_graf po lewej stronie jako chroniona zwróci rekordy.

Mam nadzieje że oto Ci chodziło]]></content>
			<author>
				<name><![CDATA[c_michal]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=627</uri>
			</author>
			<updated>2012-03-14T21:11:28Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=3533#p3533</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Problem z view]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=3411#p3411"/>
			<content type="html"><![CDATA[Dzień dobry

Mam mały problem z korzystaniem z "create view". utworzyłem widok poprzez zapytanie select łączące kilka tabel. Niestety jeżeli któreś pole w jednej z tabel jest puste (nie zawiera danych) utworzony widok nie zawiera danych. Jak to obejść, nie wszystkie pola są wymagane do wypełnienia. co zrobić aby widok gromadził dane a tam gdzie pole jest puste w widoku także było puste pole. 

____________
CREATE OR REPLACE VIEW widok_1 AS
select sl_kraj.nazwa as kraj, sl_kraina.nazwa as kraina, sl_wojew.nazwa as wojew, sl_powiat.nazwa as powiat, region.miejscowosc as miejscowosc, region.uroczysko as uroczysko, stanowisko.nazwa as nazwa_stanowiska, stanowisko.wspolrzedne as wspolrzedne, stanowisko.rzezba as opis_rzezby, stanowisko.npm as npm, stanowisko.npw as npw, stanowisko.komentarz as kom_stanowisko, stanowisko.data_odkr as data_odkr_stanowiska, sl_typ_stan.nazawa as typ_stanowiska, sl_przed_czas.nazwa as przedzial_czasowy, sl_odkrycie.nazwa as odkrycie_stanowiska, sl_graf.nazwa as zdjecia, sl_mapa.nazwa as mapa, bibliotek_pic.opis as opis_zdjecia
from
sl_kraj, sl_kraina, sl_wojew, sl_powiat, stanowisko, region, biblioteka_pic, sl_graf, sl_typ_stan, sl_przed_czas, sl_mapa, sl_odkrycie
where
sl_kraj.id=region.kraj_key and sl_kraj.id=sl_wojew.kraj_key and sl_kraj.id=sl_kraina.kraj_key and sl_wojew.id=region.wojew_key and sl_wojew.id=sl_powiat.wojew_key and sl_kraina.id=region.kraina_key and sl_powiat.id=region.powiat_key and region.id=stanowisko.region_key and stanowisko.id=biblioteka_pic.stanowisko_key and biblioteka_pic.graf_key=sl_graf.id and sl_typ_stan.id=stanowisko.typ_stan_key and sl_przed_czas.id=stanowisko.przed_czas_key and sl_mapa.id=stanowisko.mapa_key and sl_odkrycie.id=stanowisko.odkrycie_key;
_________________
jako uzupełnienie pytania dodam że chodzi o klucze obce. W tym przypadku tabela biblioteka_pic (łącząca) jest pusta. Łączy tabele stanowiska i sl_graf.]]></content>
			<author>
				<name><![CDATA[lanczont]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1357</uri>
			</author>
			<updated>2012-02-07T20:52:44Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=3411#p3411</id>
		</entry>
</feed>
