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

Migration Query Help

[es] :: MS SQL :: Migration Query Help

[ Pregleda: 2036 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ik0
Ivan Cekov
Information System Developer
Planning Authority Malta
Floriana, Malta

Član broj: 222385
Poruke: 158
159.20.31.*



+3 Profil

icon Migration Query Help16.08.2016. u 13:46 - pre 99 meseci
Najlakse je da objasnim primerom...

Imam Tabela0 [ID],[Ime],[Prezime]
Tablea1 koja ima [Tabela0ID], [RoleID]
Relacija je jedan prema mnogo (za Jedno ime i prezime moze da ima mnogo Role)

Trebam da migriram u tabelu Tabela2 [ID],[Ime],[Prezime],[RoleID]

Problem je sto u novu tabelu imam samo jedno polje a u staru tabelu za jedan zapisi imam i po 10 zapisa. Fali mi logika kako da izvedem kad dobijem vise od jedan zapis i ako taj zapis je recimo u IN(10,22,34,78) na mesto sve to zapisi 1...koristio sam WHEN ali tad trebam da upisem tacan uslov sto znaci da ne pomaze. Ikakva ideja ili pomoc...evo deo koda. Hvala


Code:

DECLARE @EntityRepresentationID TABLE(
       ID int,
       OldID int);

INSERT INTO @EntityRepresentation
SELECT ua.usr_user_pk, ua.usr_description, 
       (SELECT TOP 1 ID FROM @EntityID WHERE OldID = ua.usr_pty_user_party_fk),
       (SELECT TOP 1 ID FROM @EntityID WHERE OldID = ua.usr_pty_represented_party_fk),
       ua.usr_status, ua.usr_create_timestamp, ua.usr_last_update_timestamp, ua.usr_read_terms, ua.usr_read_timestamp, 

       CASE WHEN ur.[usl_rle_role_fk] IN (103, 102, 53) THEN 1 WHEN ur.[usl_rle_role_fk] = 49 THEN 2 WHEN ur.[usl_rle_role_fk] = 50 THEN 3 ELSE NULL END

FROM [SRV_STANDARDDB].EAPPS.dbo.tb_user_account ua
LEFT OUTER JOIN [SRV_STANDARDDB].EAPPS.dbo.tb_user_role ur ON (ua.usr_user_pk = ur.[usl_usr_user_fk] AND ur.[usl_rle_role_fk] IN (103, 102, 53, 49, 50))
WHERE usr_pty_user_party_fk != 0



Kude tumbe i tri bandere
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: Migration Query Help07.09.2016. u 13:59 - pre 98 meseci
Ta nova tabela ti nije dobro dizajnirana. Ako baš mora tako onda ili da u novoj tabeli imaš ponavljanje imena i prezimena

ime prez RolaID
------------------------
Pera Perić rola01
Pera Perić rola02
Pera Perić rola04
Miki Mikić rola01
Miki Mikić rola03

ili da ti u novoj tabeli polje RoleID bude nekog tekstualnog tipa pa da vodiš ovako:

ime prez RolaID
-----------------------
Pera Perić rola01, rola02, rola04
Miki Mikić rola01, rola03


U svakom slučaju predhodni dizajn je bio bolji.

SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

[es] :: MS SQL :: Migration Query Help

[ Pregleda: 2036 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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