to moja baza:
DROP DATABASE IF EXISTS beata_wypozyczalnia;
CREATE DATABASE beata_wypozyczalnia;
use beata_wypozyczalnia;
Create TABLE KLIENT(
ID INTEGER NOT NULL AUTO_INCREMENT,
Imie CHARACTER(30) NOT NULL,
Nazwisko CHARACTER(30) NOT NULL,
Ulica CHARACTER(30) NOT NULL,
Miejscowosc CHARACTER(30) NOT NULL,
Kod CHARACTER(6) NOT NULL,
PRIMARY KEY(ID)
) TYPE=INNODB;
Create TABLE Filmy(
ID Integer not null AUTO_INCREMENT,
Tytul CHARACTER(40) NOT NULL,
Czas_trwania CHARACTER(4) NOT NULL,
Liczba_egzemplarzy CHARACTER(30) NOT NULL,
Kategoria_filmu CHARACTER(30) NOT NULL,
Data_wypozyczenia DATE NOT NULL,
Data_zwrotu DATE NOT NULL,
Cena_wypozyczenia DECIMAL (10,2)NOT NULL,
PRIMARY KEY(ID)
) TYPE=INNODB;
CREATE TABLE wypozyczenia (
ID INT NOT NULL AUTO_INCREMENT,
Filmy_Tytul CHARACTER(40) NOT NULL,
Filmy_ID INT NOT NULL,
ID_KLIENT INT NOT NULL,
Data_wypozyczenia DATE NOT NULL,
PRIMARY KEY (ID),
INDEX (Filmy_Tytul,Filmy_ID),
FOREIGN KEY (Filmy_Tytul,Filmy_ID)
REFERENCES Filmy(Tytul,ID) ON DELETE CASCADE ON UPDATE RESTRICT
);
INSERT INTO KLIENT(ID, Imie, Nazwisko, Ulica, Miejscowosc, Kod)
VALUES
(1, 'Piotr', 'Nowak', 'Sloneczna', 'Rabka 45', '11-300'),
(2, 'Jan', 'Kowalski', 'Polna', 'Rabka 8', '44-400'),
(3, 'Adam', 'Nowicki', 'Mickiewicza 7', 'Rabka', '11-900'),
(4, 'Jacek', 'Kot', 'Sloneczna 456', 'Kraków', '61-900'),
(5, 'Jerzy', 'Nowak', 'Polna 453', 'Kraków', '13-398');
INSERT INTO Filmy(ID, Tytul, Czas_trwania, Liczba_egzemplarzy, Kategoria_filmu, Data_wypozyczenia, Data_zwrotu, Cena_wypozyczenia)
VALUES (1,'Krzyk','145','5','horror','2006-01-01','2006-02-10','10.87'),
(2,'Nowy film 1','245','25','komedia','2006-02-10','2006-02-12','11.32'),
(3,'Nowy film 2','123','5','komedia','2006-03-05','2006-05-10','11.64'),
(4,'Kruk','60','2','horror','2006-04-30','2006-06-30','12.43'),
(5,'Nowy film 3','345','5','komedia','2006-01-20','2006-04-20','15.54');
a to juz zapytanie:
- Kod: Zaznacz cały
#SELECT KLIENT.Nazwisko, Filmy.Tytul, wypozyczenia.Data_wypozyczenia
#from KLIENT, Filmy, wypozyczenia where
#KLIENT.ID=wypozyczenia.ID_KLIENT
#AND
#Filmy.ID=wypozyczenia.Filmy_ID;
SELECT kl.Nazwisko, fl.Tytul, wy.Data_wypozyczenia FROM KLIENT AS kl, Filmy AS fl, wypozyczenia AS wy #;
WHERE
kl.ID = wy.ID_KLIENT
AND
fl.ID = wy.Filmy_ID;
a to 2ie zapytanie tez nie chce mi dzialac
- Kod: Zaznacz cały
SELECT KLIENT.Nazwisko, Filmy.Tytul, wypozyczenia.Data_wypozyczenia
from KLIENT, Filmy, wypozyczenia when KLIENT.ID=wypozyczenia.ID_KLIENT
AND Filmy.ID=wypozyczenia.Filmy_ID;
Post zrobiłem bardziej przejrzystym
BlueMan