Permalänk
Medlem

Inner join PHP MySql

Hej,

Jag har problem med att få en Inner join att fungera så lite hjälp vore tacksamt.

Jag har två tabeller, category och product. Det jag har problem med är att hämta category_name från tabell nummer två som ska vara kopplad till en rad i product tabellen. Jag har följande kod:

$select = ' SELECT product.product_id, product.product_title FROM product'; $where = ' WHERE TRUE'; if (isset($_GET['c']) and $_GET['c'] == '1') { $where .= ' AND product.category_id=1'; } $result = mysqli_query($link, $select . $where); etc....

Så jag vill därmed kunna visa själva kategorins namn som en produkt är kopplad till (med category_id), detta kan ordnas med en Inner join. Dock så har jag inte använt det ännu så jag är inte säker på hur det ska göras..

Permalänk
Medlem

SELECT p.product_id, p.product_title, c.category_name FROM product AS p, category AS c WHERE TRUE AND p.category_id=1

Permalänk
Medlem
Skrivet av Kejsarn:

SELECT p.product_id, p.product_title, c.category_name FROM product AS p, category AS c WHERE TRUE AND p.category_id=1

Det där ger en left outer join

Kör detta istället

SELECT p.product_id, p.product_title, c.category_name FROM category c INNER JOIN product p ON p.category_id = c.category_id WHERE c.category_id = 1

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Tack till er båda, nu fungerar det som det är tänkt.