sql连接查询问题有三个表

Son*_*dhu 2 mysql join

我是mysql的新手.这是我的db表的结构.*如何加入所有三个表来提供看起来像第四个表的结果?

表产品

id      name    category   user_id  
1       abc     2             1
2       syz     3             1
Run Code Online (Sandbox Code Playgroud)

表类别

id      name
1       aaa
2       bbb
3       ccc
Run Code Online (Sandbox Code Playgroud)

表product_image

id      image       product_id
1       abc.jpg         1
2       xyz.jpg         1
Run Code Online (Sandbox Code Playgroud)

第四个结果看起来像

id      name      category_name           image
 1      abc       aaa                    xyz.jpg
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题.我试过但是没有得到正确的结果.

SELECT product. * , categories.name AS cat_name, product_image.image AS product_image
FROM `product`
INNER JOIN categories ON categories.id = product.category and `user_id`='1'
INNER JOIN `product_image` ON product_image.product_id = product.id
ORDER BY rand( )
LIMIT 1
Run Code Online (Sandbox Code Playgroud)

编辑部分

我们需要一个来自product_image的图像,该图像根据product_id与多个图像相关联

KTA*_*Anj 5

试试这个吧

SELECT p.id, p.name , c.name as category_name, i.image FROM Product AS p

INNER JOIN Categories as c

ON c.id=p.category LEFT JOIN 

(SELECT image, product_id FROM product_image ORDER BY RAND( ) LIMIT 1  ) AS i   ON i.product_id=p.id WHERE p.id=1
Run Code Online (Sandbox Code Playgroud)