Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 12 odgovora
  • 4.573 pregleda

Najnovija ↓

Pomoc oko zadataka 24.06.2014. u 23:53 · pre 150 meseci #1
Treba mi pomoc oko dizajna baze i select upita i pod upita

Potrebno je kreirati bazu podataka za prodavnicu mobilnih telefona. Baza treba da sadrži
proizvođače mobičnih telefona, prodavce mobilnih telefona (ime radnje, adresa, telefon), i modele mobilnih
telefona (ime modela, opis, cena i količina na lageru). Za ovakvu bazu podataka:

Nacrtati dizajn baze podataka sa definisanim imenima tabela i strukturom podataka po
kolonama.


Prikaz prodavnice koja ima najjeftini model telefona CC11


Ja sam napravio tabele Proizvodjac (ProizvodjacID, NazivProizvodjaca) Prodavnica (ProdavnicaID,ImeRadnje,Adresa) Model (ModelID,Opis,ProizvodjacID,ImeModela)
ProdavnicaModel(ProdavnicaModelID,Lager,Cena,ProdavnicaID,ModelID)

Ne znam kako da napravim ovaj gore upit da mi vrati prodavnicu sa najjeftinijim modelom telefona CC11

Hitno je !
Re: Pomoc oko zadataka 25.06.2014. u 11:02 · pre 150 meseci #2
Dobio sam rezultat

SELECT ImeRadnje
FROM Prodavnica
WHERE ProdavnicaID =( select ProdavnicaID from ProizvodjacModel where Cena=10 )


ali ja zelim da ne gadjam minimalnu cenu tako sto vidim koja je minimalna cena vec zelim da na osnovu funkcije MIN to meni sam dinamicki obradi SQL upit.
Da li ima koga da mi pomogne?
Re: Pomoc oko zadataka 25.06.2014. u 11:19 · pre 150 meseci #3
Code:

SELECT p.ImeRadnje FROM Prodavnica p INNER JOIN ProizvodjacModel pm ON p.ProdavnicaID = pm.ProdavnicaID
WHERE pm.Cena = (SELECT MIN(pm1.Cena) FROM ProizvodjacModel pm1)
Re: Pomoc oko zadataka 25.06.2014. u 11:27 · pre 150 meseci #4
S obzirom da nema koda za kreiranje tabela i test podataka, evo napamet koda koji bi trebalo da radi sa prilozenim db dizajnom.

Code:

SELECT ImeRadnje
FROM Prodavnica
WHERE ProdavnicaID = (
    SELECT TOP 1 ProdavnicaID 
    FROM ProdavnicaModel pm
    INNER JOIN Model m ON pm.ModelID = m.ModelID
    WHERE m.ImeModela = 'CC11'
    ORDER BY Cena ASC) 


HTH.
Potpis
Sad šta je tu je. A možda će da dođe i ova tvoja tetka iz Bosanske Krupe.
Re: Pomoc oko zadataka 25.06.2014. u 11:40 · pre 150 meseci #5
Da li moze da se to uradi bez INNER JOIN ? Nisam zeleo da koristim INNER JOIN?

Dakle samo UPIT I PODUPIT
Re: Pomoc oko zadataka 25.06.2014. u 11:41 · pre 150 meseci #6
Da, i ja sam kucao napamet pa sam izostavio ime modela u WHERE klauzuli. Pitanje je trebalo malo bolje obrazložiti.
Neću prekucavati jer rešenje koje je ponudio HladanKaoLed treba da je u redu.
Re: Pomoc oko zadataka 25.06.2014. u 11:43 · pre 150 meseci #7
Izvukao bi ja to kroz INNER JOIN spojio bi se na tabele i izvukao sta mi treba.
Ali ja zelim bez inner join samo upit i pod upit sa MIN(cena) da dobijem minimalnu cenu koju dinamicki SQL izvuce i prokaze u kojoj radnji je minimalna cena mobilnog telefona.
Moj gornji upit vraca radnju gde je minimalna cena mobilnog telefona, ali samo kada ja vidim u tabeli fizicki gde je minimalna cena i gadjam tu cenu,meni treba dinamicki ako je moguce
Re: Pomoc oko zadataka 25.06.2014. u 11:46 · pre 150 meseci #8
Moram da priznam da ne razumem insistiranje na izbegavanju JOIN-a, ali ovo bi trebalo da bude ekvivalentno gore postovanom resenju:

Code:
SELECT ImeRadnje
FROM Prodavnica
WHERE ProdavnicaID = (SELECT TOP 1 ProdavnicaID FROM ProdavnicaModel WHERE ModelID = (SELECT ModelID FROM Model WHERE ImeModela = 'CC11') ORDER BY Cena ASC) 


Potpis
Sad šta je tu je. A možda će da dođe i ova tvoja tetka iz Bosanske Krupe.
Re: Pomoc oko zadataka 25.06.2014. u 11:50 · pre 150 meseci
izmenjeno 1 put, poslednji put Qler01 25.06.2014. u 14:25
  1. Qler0125.06.2014. u 14:25zapis iz teksta poruke
#9
Drugi problem

Baza pozoriste
Potrebno je kreirati bazu podataka za pozorište. Baza treba da sadrži spisak svih predstava u pozorištu(ime predstave, glumce, opis, zanr) i repertoar(raspored predstava po danina)

Imam tabele Glumci (GlimaciID,Ime,Prezime)
PredstavaDatum (PredstavaDatumID,PredstavaID,Datum)
PredstavaGlumac (PredstavaGlumacID,PredstavaID,GlumacID)
Predstave (PredstaveID,ImePredstave,Opis,ZanrID)
Zanr (ZanrID,OpisZanra)

Ispisi ime predstave gde igra Pera Peric

Moj upit meni vraca uporno sve prdstave koje postoje iako igra u samo jednoj predstavi dakle samo podupiti bez JOIN-A

SELECT ImePredstave
FROM Predstave
WHERE PredstaveID = (SELECT TOP 1 PredstaveID FROM PredstavaGlumac
WHERE GlumacID = (SELECT GlumacID FROM Glumci WHERE Ime='Pera' and Prezime='Peric')
Re: Pomoc oko zadataka 25.06.2014. u 14:25 · pre 150 meseci #10
Drugi problem

Baza pozoriste
Potrebno je kreirati bazu podataka za pozorište. Baza treba da sadrži spisak svih predstava u pozorištu(ime predstave, glumce, opis, zanr) i repertoar(raspored predstava po danina)

Imam tabele Glumci (GlimaciID,Ime,Prezime)
PredstavaDatum (PredstavaDatumID,PredstavaID,Datum)
PredstavaGlumac (PredstavaGlumacID,PredstavaID,GlumaciID)
Predstave (PredstaveID,ImePredstave,Opis,ZanrID)
Zanr (ZanrID,OpisZanra)


Ispisi ime predstave gde igra Pera Peric

Moj upit meni vraca uporno sve prdstave koje postoje iako igra u samo jednoj predstavi dakle samo podupiti bez JOIN-A


SELECT ImePredstave
FROM Predstave
WHERE PredstaveID = (SELECT TOP 1 PredstaveID FROM PredstavaGlumac
WHERE GlumacID = (SELECT GlumaciID FROM Glumci WHERE Ime='Pera' and Prezime='Peric')


Nadam se da ste tu Hitno je
Re: Pomoc oko zadataka 25.06.2014. u 15:02 · pre 150 meseci #11
Kada dodam u WHERE klauzuli za Glumci Opis='drama' dobijem jedan rekord gde igra pera peric u toj predstavi sa opisom Drama.

>>>> WHERE GlumacID = (SELECT GlumaciID FROM Glumci WHERE Ime='Pera' AND Opis='Drama') <<<<<<<<<

Ali me buni zasto vraca sve rekorde predstava kada u WHERE klauzuli kazem Ime='pera' AND Prezime='Peric'

Ja zelim da dobijem rekord gde igra Pera Peric u Predstavi?
Re: Pomoc oko zadataka 25.06.2014. u 17:25 · pre 150 meseci #12
Reseno problem i ID slovna greska
Re: Pomoc oko zadataka 01.07.2014. u 16:26 · pre 150 meseci
izmenjeno 5 puta, poslednji put Qler01 01.07.2014. u 17:28
  1. Qler0101.07.2014. u 17:28zapis iz teksta poruke
  2. Qler0101.07.2014. u 17:07zapis iz teksta poruke
  3. Qler0101.07.2014. u 16:57zapis iz teksta poruke
  4. Qler0101.07.2014. u 16:55zapis iz teksta poruke
  5. Qler0101.07.2014. u 16:41zapis iz teksta poruke
#13
Kako ja sada da dobijem

Prikaz svih modela telefona koje proizvodi Nokia



Ubio sam se pokusavajuci
evo struktura tabela

Proizvodjac(ProizvodjacID,Naziv)
Prodavnica(ProdavnicaID,Ime_Radnje,Adresa,Telefon)
Model(ModelID,Naziv,Opis,ProizvodjacID)
ProdavnicaModel(ProdavnicaModelID,Cena,Lager,ProdavnicaID,ModelID)

Select ImeModela
From Model
Where ProizvodjacID=1

Vraca mi sve modele ali nemam polje za nazivProizvodjaca u rezultatu ? Meni treba Imemodela i naziv Proizvodjaca sa listom

Pomocu JOIN sam resio ali me zanima sa strucnije strane da li moze pomocu podupita da sre to resi ako moze da mi se posalje pod upit da bi video sta je u pitanju

Select Proizvodjac.NazivProizvodjaca,Model.ImeModela
from Proizvodjac INNER JOIN Model ON Proizvodjac.ProizvodjacID=Model.ProizvodjacID
where NazivProizvodjaca='Nokia'
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme