[ mayana @ 16.07.2009. 10:42 ] @
ovako, imam tabelu odbor i u njoj polja skraceninazivodbora (pk), punnazivodbora, jmbgpredsednikaodbora i jmbgzamenikapredsednika. clanovi su u posebnoj tabeli clanoviodbora i oni mi sada nisu vazni. u pretrazi ocu da kad korisnik ukuca jmbg, select protrci kroz odbore i ispise kao rezultat: skraceninazivodbora, punnazivodbora i svojstvo, s tim da ce svojstvo da primi vrednost "predsednik" ili "zamenik" zavisno da li je unesen jmbg jednak jmbgu predsednika ili zamenika. znaci, ja polje (kolonu) svojstvo nemam u tabeli, zelim da se ona kreira samo pri pretrazi. da li ovo da resim preko view-a i kako? kako da dodam tu promenljivu svojstvo? nesto sa declare mi lici ali nisam sigurna? hvala unapred

[Ovu poruku je menjao mayana dana 16.07.2009. u 11:54 GMT+1]
[ Fedya @ 16.07.2009. 11:13 ] @
Citat:
mayana: clanovi su u posebnoj tabeli clanoviodbora i oni mi sada nisu vazni.


I tek kako jesu vazni, post se moras povezati sa tom tableom da bi dobila vrednosti.

upit bi bio nesto kao (lupam kod mozda treba malo izmeniti ali je blizu)

SELECT odbor.*, clanoviodbora.svojstvo FROM odbor
LEFT OUTTER JOIN clanoviodbora ON odbor.jmbg = clanoviodbora.jmbg
WHERE odbor.jmbg = @unesenJmbg


EDIT: Posle tvoje izmene izgleda da nisam najbolje razumeo problem. Daj nekoliko redova iz obe tabele da vidimo kako to izgleda.
[ mayana @ 16.07.2009. 11:29 ] @
stavila sam ovo za upit (koristim c#.net)
Code:

string upit=@"SELECT skraceninazivodbora, punnazivodbora, jmbgpredsednikaodbora, jmbgzamenikaodbora from odbori WHERE JMBGPREDSEDNIKAODBORA=" + Convert.ToInt32(this.txtVrednost.Text)+" OR JMBGZAMENIKAPREDSEDNIKA=" + Convert.ToInt32(this.txtVrednost.Text);


i to mi sada daje kao rezultat podatke koje zelim ali mi ne pise recima "zamenik" ili "predsednik" nego mi da podatke, a ja zelim da mi ako nadje jmbg da je jednak sa jmbgpredsednika ispise "predsednik" i za zamenika isto...

clanovi nisu vazni jer se u tabeli odbor nalaze samo ova 4 polja, a u tabeli clanodbora se nalazi skraceninazivodbora i jmbg.
[ Fedya @ 16.07.2009. 11:51 ] @
Ima li nekog da preporuci knjigu na srpskom sa osnovama SQL i relacionih baza?
[ mayana @ 16.07.2009. 11:54 ] @
ti to mene zezas da ne znam ni osnove sql-a? :) ok, ok, ne ljutim se... samo sam pitala da li se moze u selectu dodati neka promenljiva koja dobija vrednost zavisno od where klauzule.
[ Fedya @ 16.07.2009. 14:23 ] @
Nije mi namera nikoga da zezam, samo mislim da ti je:
1. problem pogresno postavljen
2. ti ga nisi dobro razumela ili
3. baza ti je uzasno lose projektovana.

Logicno kako bi tabele trebalo da izgledaju je da imas jednu tabelu gde se nalaze jmbg, ime, prezime i svi ostali podaci o zaposlenima, drugu tabelu gde se nalaze jmbg i neki ID koji bi definisao funkciju u odboru i trecu tabelu koja bi sadrzala Id funkcije, opis i mozda jos neke podatke o tome. (proguglaj sa 'treca normalna forma' ili 'noramalizacija baza' uposte)

Tada bi tvoj upit bio elementaran join dve ili tri table gde bi ti jedina promenljiva bila ID koji je upisan na formi.

Drugi problem je da NIKAD ne smes spajati uneseni tekst od korisnika sa SQL upitom.
Na primer da nema (svakako suvisnog) Convert.ToInt32 u tvom slucaju neki zlonamerni korisnik bi mogao doci i uneti nesto kao "1; DELETE FROM odbori" i obrisati ti celu tabelu. (google: SQL Injection)

Za ovakve stvari se uvek koriste storovane procedure.
[ Zidar @ 16.07.2009. 22:12 ] @
Sve sto ti je Fedya rekoa tacno je, bez ljutnje. problem je sto imas dve kolone sa istom vrstom podataka u jednoj tabeli. Tvoj uslov sad pokusava da nadje nesto sto se nalazi u jednoj, a mzoda i u drugoj koloni.

Ako nemas priliku da menjas strukturu baze, ovo ce verovatno pomoci:
Code:

SELECT 
skraceninazivodbora, punnazivodbora, jmbgpredsednikaodbora, jmbgzamenikaodbora ,
Opis = CASE 
            WHEN JMBGPREDSEDNIKAODBORA= @Vrednost THEN 'Predsednik'
            WHEN JMBGZAMENIKAPREDSEDNIKA= @Vrednost THEN 'Potpredsednik'
            ELSE 'POgresan JMBG'
        END
FROM odbori 
WHERE JMBGPREDSEDNIKAODBORA= @Vrednost 
OR JMBGZAMENIKAPREDSEDNIKA= @Vrednost


:-)
[ gpedja_70 @ 17.07.2009. 08:42 ] @
upravo htedoh reci da ce u tvom slucaju CASE jako lepo odraditi stvar :)


pozz....
[ mayana @ 17.07.2009. 09:03 ] @
Fedya, hvala na savetima, u pitanju je obican seminarski za nekog drugog, tako da me bas briga, bitno da ga odradim. Zidar, hvala, ovo radi savrseno! pozdrav