我正在寻找所有的名字和艺术家的网址,一个用户与user_id 57已经存储。
餐桌上的“艺术家”
id | name | url
---+--------------+--------
01 | Luke Combs | url-1
02 | Jason Aledan | url-2
03 | Upchurch | url-3
04 | Lee Brice | url-4
05 | Khalid | url-5查表user_artists
user_id | artist_id
---------+-----------
02 | 05
15 | 01
37 | 01
57 | 03
57 | 01
28 | 02User_id=57的预期结果:
name | url
------------+--------
Luke Combs | url-1
Upchurch | url-3我的尝试:
SELECT name, url, user_id
FROM artists, user_artists
INNER JOIN user_artists.user_id ON artists.name
WHERE user_id = 57; SQL查询在我看来是如此的令人困惑。我甚至不确定内连接是否是正确的。我花了一整个下午的时间搜索这些查询,最后通过SQL生成器获得了这些信息。任何帮助,非常感谢!
发布于 2020-03-01 16:59:39
您没有提到这是用于什么具体的关系数据库管理系统()--而且各种关系数据库管理系统在它们如何“解释”标准方面并不是100%兼容的--但我想类似的内容应该适用于任何关系数据库系统:
SELECT name, url, user_id
FROM artists a
INNER JOIN user_artists ua ON ua.artist_id = a.id
WHERE ua.user_id = 57; 基本上,您可以从user_artists获取与所需值匹配的user_id中的行,然后通过user_artists.artist_id到artist.id列之间的“链接”加入artists表,从而产生所需的输出。
https://stackoverflow.com/questions/60477448
复制相似问题