• 4 odgovora
  • 4.095 pregleda
WHERE klauzula - provera na osnovu vrednosti 2 polja 18.10.2007. u 20:55 · pre 231 meseci #1
Imam 2 tabele u bazi:


Tabela1
------------------
PK | Artikal
PK | IDProizvodjaca
------------------


Tabela2
-----------------------
PK,FK1 | Artikal
PK,FK1 | IDProizvodjaca
Selektovan
-----------------------

T2 je preko FK1 povezana sa T1.

Potrebna mi je WHERE klauzula koja se dodaje na upit "SELECT * FROM Tabela1 " i kojom bi se dobili samo redovi koji postoje u T2 i kod kojih je "Selektovan = true".

Da li je ovo izvodljivo?

Problem mi rešava samo WHERE klauzula, bez JOIN-a, parametara i sl.

Koristim MS SQL 2005 i WHERE klauzula mi treba kao string za C# aplikaciju, koja već ima odrađen SELECT deo.

Slikovit primer (koji ne radi! ): Kada bi moglo da se napiše nešto kao "WHERE Artikal, IDProizvodjaca IN (SELECT Artikal, IDProizvodjaca FROM Tabela2 WHERE Selektovan=true)" to bi mi rešilo sve probleme, ali ne može bre tako

Probao sam razne kombinacije sa IN, ali ne pomaže.

Ima li neko ideju?

Hvala!
Potpis
Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
Re: WHERE klauzula - provera na osnovu vrednosti 2 polja 18.10.2007. u 21:03 · pre 231 meseci #2
Code:
WHERE EXISTS (SELECT t2.Selektovan
                FROM Tabela2 t2
               WHERE t2.Artikal = Artikal
                 AND t2.IDProizvodjaca = IDProizvodjaca
                 AND t2.Selektovan=true)
Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Re: WHERE klauzula - provera na osnovu vrednosti 2 polja 18.10.2007. u 21:05 · pre 231 meseci #3
Ne razumem zasto ne moze join? Jednostavan inner join sa where selektovan=true bi ti vration tacno ono sto ocekujes...
Mada ako bas moras mozes da resis sa where exists...
Potpis
Every hamster has his day.
Re: WHERE klauzula - provera na osnovu vrednosti 2 polja 18.10.2007. u 22:03 · pre 231 meseci #4
Verovatno se koristi nekakav Application Framework koji ne podnosi JOIN.
Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Re: WHERE klauzula - provera na osnovu vrednosti 2 polja 22.10.2007. u 19:38 · pre 231 meseci #5
Citat:
chachka: 
Code:
WHERE EXISTS (SELECT t2.Selektovan
                FROM Tabela2 t2
               WHERE t2.Artikal = Artikal
                 AND t2.IDProizvodjaca = IDProizvodjaca
                 AND t2.Selektovan=true)


Hvala, ovo mi završava posao!

Citat:
chachka: Verovatno se koristi nekakav Application Framework koji ne podnosi JOIN.


Radim sa komponentom koja ima razrađen mehanizam za upoređivanje, i očekuje samo WHERE klauzulu.
Potpis
Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme