MYSQL Inner Join two table over two keys

Posted by bertsisterwanda on Stack Overflow See other posts from Stack Overflow or by bertsisterwanda
Published on 2010-03-17T12:22:29Z Indexed on 2010/03/17 12:31 UTC
Read the original article Hit count: 271

Filed under:
|

I am doing a query to return all users shopping carts, stored in the sb_carts table. The product information stored in sb_carts is referenced over two keys product_sku and school_id. It needs to reference both to return a unique product with unique stock levels etc.

When I execute the following query it returns one row, I am expecting 3 rows. I have tried breaking the inner join into two separate joins but this still returns only 1 result. joining only on one key has the desired result, but may be retuning the wrong product. A left join returns 3 rows but some data is missing product specific

Here is a simplified example of what I am doing

SELECT sb_carts.product_sku
FROM sb_carts 
INNER JOIN sb_products ON sb_products.sku = sb_carts.product_sku 
AND sb_products.school_id = sb_carts.school_id
WHERE sb_carts.order_id = 0 
AND sb_carts.user_id = 2 
GROUP BY sb_carts.cart_id

© Stack Overflow or respective owner

Related posts about mysql

Related posts about inner-join