[ krahi @ 25.07.2011. 18:10 ] @
Nisam imao nameru da prackam po bazama al sila prilika me natera na tako nesto i evo problema
Imam 2 tabele.IMENA koja ima sledece kolone:

ime1(foregin key),ime2(foregin key),ime3(foregin key)

a druga USER:

id(primary key),ime,prezime

evo sta je problem

Kod:

SELECT *
FROM IMENA
INNER JOIN USER
ON id IN(ime1,ime2,ime3)

Rezultat nije zadovoljavajuci jer se nalazi u vise redova i sama tabela nije citljiva.Meni bi trebala neka sql komanda koja izbacuje rezultat u jednom redu koji bi izgledao ovako

ime1+prezime1,ime2+prezime2,ime3+prezime3

Ovo sam do sada zaobilazio pisanjem koda u programskom jeziku koji je baratao sa rezultatima smestanjem u nizove i bla bla...al to je suvise dugacak kod da bi se koristio cesto xD.Mora da postoji neko resenje u samom sql-u.Molim za pomoc i primer koja se komanda koristi u ovom slucaju(join,select into ili nesto trece).Nije bitno dal je ms,mysql,lite....
[ Zidar @ 27.07.2011. 14:04 ] @
Lose ti je probanje. Tabela ime1(foregin key),ime2(foregin key),ime3(foregin key) se ne pravi tako. Razlog? Ima mnogo razloga, a njlakse se opisuju time sto tesko se pise kveri onakav kakav si zamislio. Ako bas mora da budu tri imena u istom redu tabele, onda tvoj kveri treba da ima 3 JOINa, pojkedan za svaki FK. Ocvako nekako:

SELECT
Imena.Ime1, U1.*
Imena.Ime2, U2.*
Imena.Ime3, U3.*
FROM Imena
INNER JOIN User AS U1 ON U1.Ime = Imena.Ime1
INNER JOIN User AS U2 ON U2.Ime = Imena.Ime2
INNER JOIN User AS U3 ON U3.Ime = Imena.Ime3

Ako hoces da napravis tabele kako treba, prouci temu 'Normalizacija' unekoj knjizi o relacionim bazama podataka. Vec na pocetku, gde se definise 1NF, Prva Normalna Forma, naci ces odgovor za konkretan problem.

Od baza se nazalost ne moze pobeci, pa ces morati da prckas i po bazama. Tezak zivot nas profesionalaca, sta ces, tu se nista ne moze