Probleme SQL atestat

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
adi94
Mesaje:13

Probleme SQL atestat

Am o problema care imi cere cam asa.
La Campionatul Naţional al cainilor de rasă participa mai mulţi câini împreună cu stăpânii lor. Pentru fiecare stapân se cunoaşte numele şi adresa iar pentru fiecare câine numele şi premiul obţinut(1,2,3=premiu, 0=fără premiu)
Cerinţe:
a) Construiţi baza de date cu tabele corespunzătoare şi relaţiile reprezentate în ERD. Populaţi tabelele cu înregistrări relevante pentru cerinţele următoare. (3 p)
b) Pentru stăpânul “Cristinel” să se afişeze toate informaţiile deţinute precum şi toţi câinii cu care a participat la campionat şi premiile obţinute de aceştia. (3 p)
c) Să se afişeze lista câiniloralfabetic după premii, împreună cu numele stăpânilor. (3 p)

Am creeat baza de date dar nu reusesc sa fac la b, pentru ca trebuie ceva de genul

Cod: Selectaţi tot

Select nume_caine, cnp...
from caine a, stapani b
where nume='cristinel' and a.cnp=b.cnp
Asta am facut eu:

Cod: Selectaţi tot

create table STAPANIi
(
cnp number(13) primary key not null,
nume varchar2(20) not null,
adresa varchar2(20) not null
)

CREATE TABLE cainii
(
id NUMBER(2) PRIMARY KEY,
cnp_s NUMBER(13) REFERENCES stapani(cnp) NOT NULL,
nume_caine VARCHAR2(20) NOT NULL,
premiu NUMBER(2)
)

SELECT cnp_s,premiu,nume_caine, adresa, nume
from cainii a, stapanii b
where nume='Cristinel' and a.cnp=b.cnp

INSERT INTO cainii VALUES (1,2921904555777,'Fay',1)
INSERT INTO cainii VALUES (2,2890207555777,'Dino',2)
INSERT INTO cainii VALUES (3,2910410555777,'Figaro',1)
INSERT INTO cainii VALUES (4,1892411555777,' Lord',3)
INSERT INTO cainii VALUES (5,2902512555777,'Mozart',3)
INSERT INTO cainii VALUES (6,1911708555777,'Niko',2)
INSERT INTO cainii VALUES (7,2921904555777,'Oscar',0)
INSERT INTO cainii VALUES (8,1892411555777,'Spot',2)

INSERT INTO stapanii VALUES (2921904555777,'Grig Adelina','Cluj')
INSERT INTO stapanii VALUES (2890207555777,'Alexa Mara','Brasov')
INSERT INTO stapanii VALUES (1892411555777,'Vladoi Cristinel','Bucureşti')
INSERT INTO stapanii VALUES (2902512555777,'Pop Ana','Iaşi')
INSERT INTO stapanii VALUES (1911708555777,'Antonescu Paul','Bucureşti')
INSERT INTO stapanii VALUES (1911708555777,'Antonescu Paul','Bucureşti')
Dar nu-mi mai amintesc, daca m-ar putea ajuta cineva in seara asta ar fi perfect.Multumesc

adi94 Mesaje:13
Am rezolvat-o...daca ajuta pe cineva, este vorba de biletul 5 de la BD pe 2013.

Cod: Selectaţi tot

create table STAPANIi
(
cnp number(13) primary key not null,
nume varchar2(20) not null,
adresa varchar2(20) not null
)
select * from stapanii

CREATE TABLE cainii
(
id NUMBER(2) PRIMARY KEY,
cnp_s NUMBER(13) REFERENCES stapani(cnp) NOT NULL,
nume_caine VARCHAR2(20) NOT NULL,
premiu NUMBER(2)
)

INSERT INTO cainii VALUES (1,2921904555777,'Fay',1)
INSERT INTO cainii VALUES (2,2890207555777,'Dino',2)
INSERT INTO cainii VALUES (3,2910410555777,'Figaro',1)
INSERT INTO cainii VALUES (4,1892411555777,' Lord',3)
INSERT INTO cainii VALUES (5,2902512555777,'Mozart',3)
INSERT INTO cainii VALUES (6,1911708555777,'Niko',2)
INSERT INTO cainii VALUES (7,2921904555777,'Oscar',0)
INSERT INTO cainii VALUES (8,1892411555777,'Spot',2)

INSERT INTO stapanii VALUES (2921904555777,'Grig Adelina','Cluj')
INSERT INTO stapanii VALUES (2890207555777,'Alexa Mara','Brasov')
INSERT INTO stapanii VALUES (1892411555777,'Vladoi Cristinel','Bucuresti')
INSERT INTO stapanii VALUES (2902512555777,'Pop Ana','Iasi')
INSERT INTO stapanii VALUES (1911708555777,'Antonescu Paul','Bucuresti')
INSERT INTO stapanii VALUES (1911708555777,'Antonescu Paul','Bucuresti')

Cod: Selectaţi tot

SELECT cnp, nume, nume_caine, premiu,adresa
from cainii a, stapanii b
where nume like '%Cristinel%' and a.cnp_s=b.cnp

select nume_caine, premiu, nume
FROM cainii a, stapanii b
WHERE a.cnp_s=b.cnp
ORDER BY premiu, nume_caine