Witam robie baze danych w programie Sybase SQL Anywhere zalozylem tablice samochody i wypozyczenia:
CREATE TABLE SAMOCHODY (
ID_SAMOCHODU CHAR(3) NOT NULL,
NR_REJ CHAR(8) NOT NULL,
MARKA VARCHAR(20) NOT NULL,
MODEL VARCHAR(16) NOT NULL,
ROK_PROD DATE NOT NULL,
KRAJ_PROD VARCHAR(15) NOT NULL,
KOLOR VARCHAR(16) NOT NULL,
POJ_SILNIKA DECIMAL(3,1) NOT NULL,
PRZEBIEG INTEGER NOT NULL,
KOSZT_DNIA VARCHAR(4) CHECK(KOSZT_DNIA>0),
PRIMARY KEY (ID_SAMOCHODU));
CREATE TABLE WYPOZYCZENIA (
ID_WYPOZYCZENIA CHAR(2) NOT NULL,
ID_SAMOCHODU CHAR(3) NOT NULL,
ID_KLIENTA CHAR(4) NOT NULL,
NR_PRACOW_WYP CHAR(4) NOT NULL,
NR_PRACOW_ODD CHAR(4),
NR_MIEJSCA_WYP CHAR(6) NOT NULL,
NR_MIEJSCA_ODD CHAR(6),
DATA_WYP DATE NOT NULL,
DATA_ODD DATE,
KAUCJA DECIMAL(8,2),
PRIMARY KEY (ID_WYPOZYCZENIA),
FOREIGN KEY (ID_SAMOCHODU) REFERENCES SAMOCHODY,
FOREIGN KEY (ID_KLIENTA) REFERENCES KLIENCI,
CHECK(DATA_ODD>=DATA_WYP)
);
Probuje zrobic procedure ktora stworzy tabele najlepi gdzie bedzie pokazywac samochody ktore sa najczesciej wypozyczane i nie wychodzi
CREATE PROCEDURE NAJLEPSI()
BEGIN CREATE TABLE NAJLEPSI (id_SAMOCHODU CHAR(3), NR_REJ char(8), MARKA varchar(20), MODEL VARCHAR(16),WYPOZYCZEN INT);
INSERT
INTO najlepsI
(id_SAMOCHODU, nR_REJ, MARKA, MODEL,WYPOZYCZEN) SELECT SAMOCHODY.id_SAMOCHODU, SAMOCHODY.NR_REJ,
SAMOCHODY.MARKA,SAMOCHODY.MODEL, count(WYPOZYCZENIA.id_SAMOCHODU) AS liczba
FROM SAMOCHODY,
WYPOZYCZENIA
WHERE WYPOZYCZENIA.id_SAMOCHODU=SAMOCHODY.id_SAMOCHODU GROUP BY liczba;
end
czy potrafi mi ktos pomoc? co robie zle?
___
Prosze uzywac bb code.
Poprawilem
ActivePlayer