[ Valerij Zajcev @ 22.12.2010. 21:36 ] @
Ideja je bila dobra ali sam se nesto zamrsio. Hteo sam da korisnik ima mogucnost da ima listu favourites-a (boja, muzika, kola ...), zatim favourite_items (bmw, mercedes, plava, crvena, zelena ...) zatim da se podaci o tome cuvaju u trecoj tabeli. Dodatno sa hteo da napravim i da korisnik ima mogucnost da sam unese favourite item. Recimo medju bojama nema 'tirkizna' da je korisnik doda (naravno tirkiznu u listi treba da ima samo taj korisnik). Tako sam dosao do sledeceg dizajna tabela (ne znam da li je dobro, ali predpostavljam da jeste). Ideja je da kada korisnik unese custom polje u t_UserFavouriteTopics, tj. kada unese vrednost u 'Value', 'FavouriteTopicItemId' treba da bude NULL (i obrnuto). Popunio sam bazu sa default i custom podacima ali sada ne umem da izkombinujem upit tako da za odredjeni 'FavouriteTopic' (npr Boja) dobijem one default (plava, crvena, zelena itd) i one custom (tirkizna, koZnaKakva :) ). U programu bi to bilo prosledim ID za boju i dobijem nazad listu sa ID-evima svih boja. Ovo je neki upit koji sam probao da napisem ali ne dobijam ono sto sam hteo...
Code:

select ft.Name, fti2.value
from dbo.t_FavouriteTopics as ft join dbo.t_FavouriteTopicItems fti on ft.FavouriteTopicId = fti.FavouriteTopicId
join dbo.t_UserFavouriteTopics fti2 on ft.FavouriteTopicId = fti2.FavouriteTopicId
where ft.FavouriteTopicId = 2


[ Valerij Zajcev @ 22.12.2010. 22:07 ] @
Hmm... bezveze nasao sam neko resenje...
Code:

SELECT uft.Value as Value,fti.name as IDFavouriteTopicItem
FROM dbo.t_UserFavouriteTopics uft
left join dbo.t_FavouriteTopicItems fti on uft.FavouriteTopicItemId = fti.FavouriteTopicItemId
WHERE uft.userid =1 AND uft.FavouriteTopicId =2

I sa ovim dobijem 2 kolone (dobro to vec na klijentu mogu da sazvacem), ali me i dalje zanima da li je ovo moglo da se ukombinuje u jednu kolonu kao rezultat, i sta mislite generalno o ovakvom dizajnu za ovakav problem?
Sada na klijentu mogu da izvucem za default vrednosti njihove ID-eve, ali ovi custom nemaju svoj ID...:(
[ Valerij Zajcev @ 22.12.2010. 22:11 ] @
Hmm... bezveze nasao sam neko resenje...
Code:

SELECT uft.Value as Value,fti.name as IDFavouriteTopicItem
FROM dbo.t_UserFavouriteTopics uft
left join dbo.t_FavouriteTopicItems fti on uft.FavouriteTopicItemId = fti.FavouriteTopicItemId
WHERE uft.userid =1 AND uft.FavouriteTopicId =2

I sa ovim dobijem 2 kolone (dobro to vec na klijentu mogu da sazvacem), ali me i dalje zanima da li je ovo moglo da se ukombinuje u jednu kolonu kao rezultat, i sta mislite generalno o ovakvom dizajnu za ovakav problem?
Sada na klijentu mogu da izvucem za default vrednosti njihove ID-eve, ali ovi custom nemaju svoj ID...:(
[ nadavesela @ 07.01.2011. 15:51 ] @
SELECT isnull(uft.Value as Value,fti.name as IDFavouriteTopicItem) as Value
FROM dbo.t_UserFavouriteTopics uft
left join dbo.t_FavouriteTopicItems fti on uft.FavouriteTopicItemId = fti.FavouriteTopicItemId
WHERE uft.userid =1 AND uft.FavouriteTopicId =2

izvini, samo sam povrsno pogledala. Ako sam dobro skontala, ako user nema svoju favorite onda treba da uzme dafault.
isnull(uft.Value as Value,fti.name as IDFavouriteTopicItem) as Value
Ideja je OK, ako korisnici to traze;