Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE DATABASE Juwenalnia
- USE Juwenalnia
- GO
- CREATE TABLE Zespoly (
- ZespolID INT PRIMARY KEY IDENTITY (1,1),
- Nazwa_Zespolu VARCHAR(100)
- )
- GO
- CREATE TABLE Godziny_Koncertow (
- ZespolID INT NOT NULL FOREIGN KEY REFERENCES Zespoly(ZespolID),
- Godziny_KoncertowID INT PRIMARY KEY IDENTITY(1,1),
- Poczatek datetime,
- Koniec datetime,
- )
- GO
- INSERT INTO Zespoly (Nazwa_Zespolu) VALUES ('Rail');
- INSERT INTO Zespoly (Nazwa_Zespolu) VALUES ('Bas Tajpan & Bob One');
- INSERT INTO Zespoly (Nazwa_Zespolu) VALUES ('Happysad');
- INSERT INTO Zespoly (Nazwa_Zespolu) VALUES ('Dwa Sławy');
- INSERT INTO Zespoly (Nazwa_Zespolu) VALUES ('Last Road');
- INSERT INTO Godziny_Koncertow (Poczatek, Koniec, ZespolID) VALUES ('2015-05-15 21:00', '2015-05-15 22:15', 1)
- INSERT INTO Godziny_Koncertow (Poczatek, Koniec, ZespolID) VALUES ('2015-05-15 22:15', '2015-05-15 23:30', 2)
- INSERT INTO Godziny_Koncertow (Poczatek, Koniec, ZespolID) VALUES ('2015-05-15 23:30', '2015-05-16 00:45', 3)
- INSERT INTO Godziny_Koncertow (Poczatek, Koniec, ZespolID) VALUES ('2015-05-16 00:45', '2015-05-16 02:00', 4)
- INSERT INTO Godziny_Koncertow (Poczatek, Koniec, ZespolID) VALUES ('2015-05-16 02:00', '2015-05-16 03:15', 5)
- GO
- CREATE FUNCTION Zloty_Trunek (@godzina datetime) RETURNS FLOAT
- AS
- BEGIN
- DECLARE @ilosc_zlotego_trunku FLOAT
- SET @ilosc_zlotego_trunku = 0
- IF @godzina = '2015-05-15 21:00'
- BEGIN
- SET @ilosc_zlotego_trunku = 0.5
- END
- ELSE
- IF @godzina = '2015-05-15 22:15'
- BEGIN
- SET @ilosc_zlotego_trunku = 1
- END
- ELSE
- IF @godzina = '2015-05-15 23:30'
- BEGIN
- SET @ilosc_zlotego_trunku = 3
- END
- ELSE
- IF @godzina = '2015-05-16 00:45'
- BEGIN
- SET @ilosc_zlotego_trunku = 5
- END
- ELSE
- BEGIN
- SET @ilosc_zlotego_trunku = 7
- END
- RETURN @ilosc_zlotego_trunku
- END
- GO
- CREATE FUNCTION Informacja(@ilosc FLOAT) RETURNS VARCHAR(30)
- AS
- BEGIN
- DECLARE @komunikat VARCHAR(50)
- IF @ilosc <2.0
- BEGIN
- SET @komunikat = 'Dobry koncert Juwenaliowy'
- END
- ELSE
- BEGIN
- SET @komunikat = 'Wracaj do akademika!'
- END
- RETURN @komunikat
- END
- GO
- CREATE FUNCTION Rekomendacja(@nazwa VARCHAR(100)) RETURNS VARCHAR(255)
- AS
- BEGIN
- DECLARE @wynik VARCHAR(255)
- IF @nazwa = 'Rail' OR @nazwa = 'Happysad' OR @nazwa = 'Last Road'
- BEGIN
- SET @wynik = CONCAT(@nazwa, ' - Gwiazda')
- END
- ELSE
- IF @nazwa = 'Dwa Sławy'
- BEGIN
- SET @wynik = CONCAT(@nazwa, ' - Kapela gra za piwo')
- END
- ELSE
- BEGIN
- SET @wynik = CONCAT(@nazwa, ' - Lepiej zostać w akademiku')
- END
- RETURN @wynik;
- END
- GO
- SELECT gk.Poczatek, gk.Koniec, z.Nazwa_Zespolu, dbo.Zloty_Trunek(gk.Poczatek) AS Ilosc_Zlotego_Trunku, dbo.Informacja(dbo.Zloty_Trunek(gk.Poczatek)) AS Komunikat, dbo.Rekomendacja(z.Nazwa_Zespolu) AS Rekomendacja FROM Godziny_Koncertow AS gk
- JOIN Zespoly AS z
- ON gk.ZespolID = z.ZespolID
- GROUP BY gk.Poczatek, gk.Koniec, z.Nazwa_Zespolu
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement