Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Upit za pretragu

[es] :: Baze podataka :: Upit za pretragu

[ Pregleda: 1838 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Arbitar2
Arbitar2
Serbia

Član broj: 51869
Poruke: 39
*.teol.net.



Profil

icon Upit za pretragu19.01.2009. u 23:41 - pre 185 meseci
Pozdrav,

Kreirao sam ER shemu koju mislim koristiti za jedan website za pretragu. Aplikacija bi trebalo da koristi Hibernate tako da cu vecinom koristiti Hql sintax-u(naravno moze i u SQL). Treba mi mala pomoc oko jednog upita za koji sam mislio da je malo laksi,a ispade obrnuto :(. Evo cemu se radi: Kreirani su entiteti : Auto, Karakteristika, Karakteristika_Opis(ne pitajte me odakle mi ovi nazivi:)). Karakteristika entitet prestavlja recimo Boja, Materijal, a Karakteristika_Opis predstavlja (ako je u pitanju karakteristika Boja) plava, zuta , zelena i/ili Materijal(Platno) Aluminijum, plastika itd. Relacija bi isla ovako:

Code:
 Auto >> OneToMany >> Karateristika >> OneToMany >> Karakteristika_Opis 


Tako da cemo da dobijemo npr: Auto sa Karakteristikama Boja i Materijal koje imaju Siva, Plava, Zuta , Crna i (slucaju da je materijal) i Plastika, Celik, Aluminijum.
Kako bi izgledao upit koji ce prikazati npr. automobile koji imaju obavezno boju sivu i plavu i obavezno materijal plastika i celik?

Hvala unapred!!
 
Odgovor na temu

Arbitar2
Arbitar2
Serbia

Član broj: 51869
Poruke: 39
91.150.109.*



Profil

icon Re: Upit za pretragu20.01.2009. u 21:36 - pre 185 meseci
Neka ideja?
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: Upit za pretragu20.01.2009. u 22:35 - pre 185 meseci
Verovatno postoji elegantniji način, ali dok ga neko ne ispiše, možda možeš na ovu foru:
Code:

SELECT a.id FROM auto a
INNER JOIN karakteristika k ON a.id = k.auto_id
INNER JOIN opis o ON k.id = o.karakteristika.id
WHERE o.naziv IN ('siva', 'plava', 'plastika', 'celik')
GROUP BY a.id
HAVING COUNT(DISTINCT o.id) = 4

BTW, ljudi, kačite skriptove sa create table i test podacima, tako ćete povećati verovatnoću da vam neko odgovori!
 
Odgovor na temu

[es] :: Baze podataka :: Upit za pretragu

[ Pregleda: 1838 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.