我有一个基于userid的表,其中包含用户最喜欢的图像
我有另一个表,其中包含用户的用户名和用户id
我想运行一个查询,在查询中插入一个名称,然后检索userid并使用这个userid搜索收藏夹表,返回用户名和所选图像
我是sql新手,非常感谢您的帮助
SELECT *
FROM `atabl_users`
WHERE `name` LIKE 'user to input value'
LIMIT 0 , 30
SELECT *
FROM `atabl_joomgallery_users`
WHERE `uid` =17
ORDER BY `azc6a_joomgallery_users`.`uid` ASC
LIMIT 0 , 30
2条答案
按热度按时间w6lpcovy1#
如果需要两个表中的所有信息,则需要它们共享的id,以便它们可以链接(联接)在一起。
根据您提供的信息,我假设两个表都包含值“uid”作为用户id。
因此,应使用以下查询:
“selectfrom atabl\u users au inner join atabl\u joomgallery\u users aju on au.uid=aju.uid au.name like在哪里?和aju.uid=17限制30“
我已经取消了订单,因为你需要另一个。如果指定为17,则按uid排序没有用。
为了解释,我们要求从表atable\ users中获取所有信息,然后为其指定一个au的速记值,以便于以后阅读。然后,我们根据这两个唯一值将这个表集与另一个表连接起来。然后我们可以使用where值优化搜索,最后将结果集限制为30。
jk9hmnmh2#
使用join组合查询
请注意,like可能会返回多个用户,因此如果您获得一个唯一的用户名作为输入值,则可以将where子句更改为