<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - złączenia tabel - pomoc w zadaniu]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=1882&amp;type=atom"/>
	<updated>2013-09-03T20:34:25Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=1882</id>
		<entry>
			<title type="html"><![CDATA[Odp: złączenia tabel - pomoc w zadaniu]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=4690#p4690"/>
			<content type="html"><![CDATA[Jedno złączenie masz błędne oceny muszą być z przedmiotów z zadanego kierunku, moim zdaniem powinno to wyglądać tak
SELECT 
  S.nr_albumu
, S.imie
, S.nazwisko
, (select P.nazwa_przedmiotu from dziekanat.przedmioty P where P.id_przedmiotu=O.id_przedmiotu) as nazwa_przedmiotu
, P.nr_semestru
, O.data_zaliczenia
, o.ocena
FROM dziekanat.studenci S
JOIN dziekanat.studenci_kierunkow SK ON S.nr_albumu = SK.nr_albumu
JOIN dziekanat.oceny O ON SK.nr_albumu = O.nr_albumu and o.id_kierunku_studiow=SK.id_kierunku_studiow
JOIN dziekanat.kierunki_studiow KS ON SK.id_kierunku_studiow = KS.id_kierunku
WHERE KS.nazwa_kierunku = 'Informatyka'
ORDER BY s.nazwisko]]></content>
			<author>
				<name><![CDATA[c_michal]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=627</uri>
			</author>
			<updated>2013-09-03T20:34:25Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=4690#p4690</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[złączenia tabel - pomoc w zadaniu]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=4686#p4686"/>
			<content type="html"><![CDATA[diagram do zadania
[url]http://www.image-share.com/ijpg-2267-279.html[/url]

mam takie zadanie 

Utwórz zapytanie wybierające informacje o ocenach uzyskanych przez studentów Informatyki. Wyświetl następujące atrybuty: Nr albumu, Imię, Nazwisko, Nazwę przedmiotu, Nr semestru, Datę zaliczenia oraz Ocenę posortowane alfabetycznie wg Nazwiska. W wyniku działania zapytania powinni zostać wyświetleni:    tylko studenci, którzy otrzymali podczas przebiegu studiów jakąkolwiek ocenę.

a oto moje rozwiązanie

SELECT S.nr_albumu, S.imie, S.nazwisko, O.ocena, P.nazwa_przedmiotu, P.nr_semestru, O.data_zaliczenia
FROM dziekanat.studenci AS S
JOIN dziekanat.studenci_kierunkow AS SK
ON S.nr_albumu = SK.nr_albumu
JOIN dziekanat.kierunki_studiow AS KS
ON SK.id_kierunku_studiow = KS.id_kierunku
JOIN dziekanat.oceny AS O
ON SK.nr_albumu = O.nr_albumu
JOIN dziekanat.przedmioty AS P
ON O.id_przedmiotu = P.id_przedmiotu
WHERE KS.nazwa_kierunku = 'Informatyka'
ORDER BY s.nazwisko, S.imie, P.nr_semestru, P.nazwa_przedmiotu, O.data_zaliczenia 

średnio rozumiem te złączenie, jeśli idę w złym kierunku to proszę o wytłumaczenie.]]></content>
			<author>
				<name><![CDATA[noob]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1637</uri>
			</author>
			<updated>2013-09-03T19:56:30Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=4686#p4686</id>
		</entry>
</feed>
