Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用mysql中的其他表获取随机图像_Mysql - Fatal编程技术网

使用mysql中的其他表获取随机图像

使用mysql中的其他表获取随机图像,mysql,Mysql,我有两张桌子 人物与形象 餐桌上的人 +----+--------+----------+ | id | name | lastname | +----+--------+----------+ | 1 | Jhon | Smith | | 2 | George | Mutt | | 3 | Peter | Law | +----+--------+----------+ 表格图像 +----+-----------+------------+ | id

我有两张桌子

人物与形象

餐桌上的人

+----+--------+----------+
| id | name   | lastname |
+----+--------+----------+
|  1 | Jhon   | Smith    |
|  2 | George | Mutt     |
|  3 | Peter  | Law      |
+----+--------+----------+
表格图像

+----+-----------+------------+
| id | id_people | img        |
+----+-----------+------------+
|  1 |         1 | demo04.jpg |
|  2 |         2 | test1.jpg  |
|  3 |         2 | orange.jpg |
|  4 |         2 | flow.png   |
|  5 |         3 | darth.png  |
|  6 |         3 | green.png  |
+----+-----------+------------+
我需要让所有人都随机使用一张图片

例如,它的好结果

+----------------------------+
1 | Jhon   | Smith | demo04.jpg
2 | George | Mutt  | orange.jpg
3 | Peter  | Law   | green.png
+----------------------------+
或者另一个结果

+----------------------------+
1 | Jhon   | Smith | demo04.jpg
2 | George | Mutt  | test1.jpg
3 | Peter  | Law   | darth.png
+----------------------------+



I used this sql query 

SELECT * 
FROM   `people` p 
       INNER JOIN (SELECT * 
                   FROM   images 
                   ORDER  BY Rand() 
                   LIMIT  1)i 
               ON i.id_people = p.id 
WHERE  1 
但只返回一行

+----+--------+----------+----+-----------+------------+
| id | name   | lastname | id | id_people | img        |
+----+--------+----------+----+-----------+------------+
|  2 | George | Mutt     |  3 |         2 | orange.jpg |
+----+--------+----------+----+-----------+------------+

错误是什么?

在这种情况下,使用相关子查询而不是
连接:

SELECT p.*,
       (select i.img
        from images i
        where i.id_people = p.id 
        order by rand()
        limit 1
       ) as img
FROM   `people` p ;
你想让这三个人都有不同的形象吗?如果是这样,我认为选择的答案是有缺陷的。