Ämne: mySQL fråga?
Visa ett inlägg
Oläst 2005-12-08, 22:10 #1
lubic lubic är inte uppkopplad
Medlem
 
Reg.datum: Aug 2005
Inlägg: 205
lubic lubic är inte uppkopplad
Medlem
 
Reg.datum: Aug 2005
Inlägg: 205
Hejsan,

Jag har tänkt göra en "Kunder som har köpt denna produkt har även köpt..." funktion.

Nu är frågan har jag gör en "bra" mysql fråga för att plocka ut 5 stycken slumpmässigt och olika produkter som kunderna också har köpt baserat på den aktuella produkten som visas.

Jag lagrar ordrar på följande sätt:

orderInfo => en tabell med orderinformation, t.ex. namn, adress, etc.
orderItem => en tabell med beställda produkter med orderID som pekar på orderInfo och itemID som pekar på produkten.

Så här ser min fråga ut just nu:

mysql_query("SELECT DISTINCT t2.itemID as itemID FROM orderItem as t1, orderItem as t2 WHERE t1.itemID = \"$itemID\" AND t1.orderID = t2.orderID ORDER BY rand() LIMIT 5");

Men med explain ger frågan detta:

table type possible_keys key key_len ref rows Extra
t1 ALL NULL NULL NULL NULL X Using where; Using temporary; Using filesort
t2 ALL NULL NULL NULL NULL X Using where

Vilket inte ser så bra ut (X = antalet sålda produkter)?

Sen utifrån detta skulle jag även behöva plocka ut produktinfo från en annan tabell baserat på itemID och vill helst slippa göra detta i en loop (som jag tidigare brukar göra )


Någon som har en ide om hur man kan göra detta på ett effectivt sätt?
lubic är inte uppkopplad   Svara med citatSvara med citat