ahoj, zkusím to lépe popsat
Jsou dvě tabulky
Uživatel (user_id 123) si třeba založí dva seznamy, třeba Oblíbená auta a Škodovky, tedy v tabulce favorite_list se založí tyto záznamy:-favorite_list (FL(pk,ai), USER_ID, NAME,...)
-favorite_list_item (FLI(pk,ai), FL, ITEM_ID, NAME,...)
Pak si do obou seznamů přidá nějaké položky- tedy to dabulky favorite_list_item se vloží např.:(FL;USER_ID;NAME)
1;123;Oblíbená auta
2;123;Škodovky
(pozn. pořád se jedná o tu samou tabulku favorite_list_item)první seznam (Oblíbená auta ->FL = 1)
(FLI;FL;ITEM_ID;NAME)
1;1;99999;Renault Megane
2;1;22222;Škoda Superb
3;1;88888;Honda Civic
4;1;44444;Škoda Fabia
a druhý seznam (Škodovky -> FL = 2)
(FLI;FL;ITEM_ID;NAME)
5;2;11111;Škoda citigo
6;2;22222;Škoda Superb
7;2;33333;Škoda Octavia
8;2;44444;Škoda Fabia
9;2;55555;Škoda Yeti
A teď je to co potřebuji vyřešit - uživatel se rozhodne, že chce zkopírovat druhý seznam do prvního, tedy položky s FL=2 se zduplikují, ale nastaví se jim FL=1 a zároveň se vynechají položky se stejným ITEM_ID a FL=1 tedy se nezkopíruje FLI6 a FLI8 protože už v seznamu 1 jsou...
Tedy finální obsah tabulky favorite_list_item bude:
Výsledkem je že v seznamu FL1 - Oblíbená auta má celkem 7 položek
(FLI;FL;ITEM_ID;NAME)
1;1;99999;Renault Megane
2;1;22222;Škoda Superb
3;1;88888;Honda Civic
4;1;44444;Škoda Fabia
5;2;11111;Škoda citigo
6;2;22222;Škoda Superb
7;2;33333;Škoda Octavia
8;2;44444;Škoda Fabia
9;2;55555;Škoda Yeti
10;1;11111;Škoda citigo
11;1;33333;Škoda Octavia
12;1;55555;Škoda Yeti
(když si pak uživatel zobrazuje jednotlivé seznamy, tak se používá dotaz SELECT fl.*,fli.* FROM favorite_list AS fl JOIN favorite_list_item AS fli ON (fli.FL = fl.FL) WHERE fl.FL =? AND fl.USER_ID =?)
Snad už jsem to popsal líp...
Díky