Visa ett inlägg
Oläst 2009-03-22, 03:42 #5
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Jag ser ingen anledning varför du ska ha user_id i artikel-tabellen.
Det räcker gott med att du lagrar user_id och art_id i lasta_artiklar-tabellen, då har du all info du behöver, du behöver inte heller ha ett eget id i lasta_artiklar-tabellen eftersom art_id och user_id tillsammans blir en unik nyckel.

user_id i artikeltabellen är en felaktig normalisering som jag ser det, id i lasta_artiklar är bara överflödig information.

Tabellerna behöver bara följande kolumner:

Kolumner i Artiklar: art_id, art_txt, created.
Kolumner i Lasta_Artiklar: art_id, user_id.
Kolumner i User: user_id.



Kod:
SELECT ** 
FROM * * artiklar
WHERE *id NOT IN(SELECT art_id FROM Lasta_artiklar WHERE *user_id = 17);
Observera den lite fiffiga användningen av en subselect som plockar fram en lista på alla art_id som användaren med user_id = 17 har läst och att den NOT som är före subselecten vänder logiken så hela SQL-satsen visar alla artiklar som användaren INTE läst tidigare....
Conny Westh är inte uppkopplad   Svara med citatSvara med citat