Witam jestem początkującym i mam problem z pobraniem oraz wyświetleniem danych z połączonych ze sobą tabel (możliwe że nawet są źle ze sobą połączone): Otóż mam zrobić coś takiego: Dla każdego przedmiotu podaj najstarszego oraz najmłodszego studenta, który go zdaje. Niżej podaję tabele. Mam wyświetlić to w formie IdPrzedmiotu, Imie, Nazwisko (Najmłodszego), IdPrzedmiotu, Imie, Nazwisko (Najstarszego). Doszedłem do tego:
SELECT Imie, Nazwisko, IdPrzedmiotu FROM (SELECT MIN(Data_Urodzenia) St, MAX(Data_Urodzenia) Ml, IdPrzedmiotu FROM Studenci JOIN Oceny ON NrIndeksu=Student GROUP BY IdPrzedmiotu) ME, Studenci WHERE Data_Urodzenia=St;
Wyświetla mi dobrze dane najmłodszych bądź najstarszych po zmianie Daty_Urodzenia=St/Ml, lecz nie potrafię połączyć tego żeby wyświetlało mi obie opcje jednocześnie.
mysql> DESC Studenci;
+----------------+-------------------------+------+-----+---------+-------+
| FIELD | Type | NULL | KEY | DEFAULT | Extra |
+----------------+-------------------------+------+-----+---------+-------+
| NrIndeksu | smallint(6) | NO | | 0 | |
| Imie | varchar(20) | YES | | NULL | |
| Nazwisko | varchar(20) | YES | | NULL | |
| Adres | varchar(50) | NO | | NULL | |
| Data_Urodzenia | date | YES | | NULL | |
| Typ_studiow | enum('Inz','Lic','Mgr') | YES | | Inz | |
| Rok | smallint(1) | YES | | NULL | |
+----------------+-------------------------+------+-----+---------+-------+
7 rows IN SET (0.00 sec)
mysql> DESC Oceny;
+--------------+-----------------------+------+-----+------------+----------------+
| FIELD | Type | NULL | KEY | DEFAULT | Extra |
+--------------+-----------------------+------+-----+------------+----------------+
| Student | smallint(6) | NO | PRI | 0 | |
| IdPrzedmiotu | smallint(1) | NO | PRI | NULL | AUTO_INCREMENT |
| DATA | date | YES | | 2008-03-29 | |
| Ocena | enum('2','3','4','5') | YES | | 3 | |
+--------------+-----------------------+------+-----+------------+----------------+
4 rows IN SET (0.00 sec)
mysql> DESC Przedmioty;
+-------------+-------------+------+-----+---------+----------------+
| FIELD | Type | NULL | KEY | DEFAULT | Extra |
+-------------+-------------+------+-----+---------+----------------+
| IdPrzedmiot | smallint(6) | NO | PRI | NULL | AUTO_INCREMENT |
| Nazwa | varchar(17) | YES | | NULL | |
| Prowadzacy | smallint(1) | NO | | NULL | |
+-------------+-------------+------+-----+---------+----------------+
3 rows IN SET (0.00 sec)
mysql> DESC Pracownik;
+-------------------+---------------------------------------------------+------+-----+---------+----------------+
| FIELD | Type | NULL | KEY | DEFAULT | Extra |
+-------------------+---------------------------------------------------+------+-----+---------+----------------+
| Pesel | varchar(11) | YES | | NULL | |
| Imie | varchar(20) | YES | | NULL | |
| Nazwisko | varchar(20) | YES | | NULL | |
| Data_Urodzenia | date | YES | | NULL | |
| Telefon | varchar(11) | YES | | NULL | |
| Zarobki | decimal(7,2) | YES | | 1800.00 | |
| Stanowisko | enum('asystent','adiukt','profesor','techniczny') | YES | | NULL | |
| Ulica | varchar(20) | YES | | NULL | |
| Kod_Pocztowy | varchar(6) | YES | | NULL | |
| Miasto | varchar(20) | YES | | NULL | |
| Zarobki_Dodatkowe | decimal(7,2) UNSIGNED | YES | | 0.00 | |
| Id_Pracownika | int(1) | NO | PRI | NULL | AUTO_INCREMENT |
+-------------------+---------------------------------------------------+------+-----+---------+----------------+
12 rows IN SET (0.00 sec)