logo



Problema 1

Se consideră tabelul Medicamente cu structura Cod_medicament (N,6), Denumire (T,30), Pret (N,8.2), Compensare (N,3). Câmpul Compensare conţine o valoare întreagă din intervalul [0,100] şi reprezintă procentul de compensare a medicamentului. Se cere:

a) Să se creeze structura tabelului;

b) Să se introducă următoarele înregistrări:

Cod_medicament

Denumire

Pret

Compensare

74633

Eurovita

29.80

5

2341

Memo plus

15

12

3422

Cetebe plus

21.50

0

443213

Tantum verde

18.10

14

4553

Coldrex

24

30

3222

Colebil

32

7

1224

Nurofen

7.85

0

c) Să se afişeze denumirea și preţul fiecărui medicament luând în calcul gradul de compensare, ordonate crescător după denumire;

d) Să se scrie o interogare (secvenţă de instrucţiuni) care să şteargă medicamentele care au în câmpul Compensare valoarea 0.

# a)

CREATE TABLE Medicamente (
    Cod_medicament INT(6) NOT NULL PRIMARY KEY,
    Denumire VARCHAR(30),
    Pret DECIMAL(8,2),
    Compensare INT CHECK (Compensare BETWEEN 0 AND 100)
);

# b)

INSERT INTO Medicamente (Cod_medicament, Denumire, Pret, Compensare) VALUES
(74633, 'Eurovita', 29.80, 5),
(2341, 'Memo plus', 15.00, 12),
(3422, 'Cetebe plus', 21.50, 0),
(443213, 'Tantum verde', 18.10, 14),
(4553, 'Coldrex', 24.00, 30),
(3222, 'Colebil', 32.00, 7),
(1224, 'Nurofen', 7.85, 0);

SELECT * from Medicamente;

# c)

# Pret_final = Pret * (1 - Compensare / 100)

SELECT 
    Denumire, 
    ROUND(Pret * (1 - Compensare / 100), 2) AS Pret_final 
FROM 
    Medicamente
ORDER BY 
    Denumire ASC;
    
# d)

DELETE FROM Medicamente WHERE Compensare = 0;
SELECT * from Medicamente;
Pașii rezolvării problemei în Microsoft Access 2019

 



Copyright © 2016 Kalytheo