Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem MySQL - kopírování bez duplicit v rámci jedné tabulky

ahoj, zkusím to lépe popsat

Jsou dvě tabulky

-favorite_list (FL(pk,ai), USER_ID, NAME,...)
-favorite_list_item (FLI(pk,ai), FL, ITEM_ID, NAME,...)
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:
(FL;USER_ID;NAME)
1;123;Oblíbená auta
2;123;Škodovky
Pak si do obou seznamů přidá nějaké položky- tedy to dabulky favorite_list_item se vloží např.:
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
(pozn. pořád se jedná o tu samou tabulku favorite_list_item)

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:

(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
Výsledkem je že v seznamu FL1 - Oblíbená auta má celkem 7 položek

(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

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny