gpt4 book ai didi

mysql - 如何使用第三个表连接两个没有公共(public)列的 SQL 表,第三个表包含这两个表的列

转载 作者:行者123 更新时间:2023-11-29 06:17:03 25 4
gpt4 key购买 nike

我需要构建 SQL 查询以从 signup 表中获取所有用户元数据 (meta),id 位于 courses_history 表。

问题是 signup 表没有 user_id 但有 user_logincourses_history 只有user_id.

还有第三个表 - users,它包含 user_iduser_login 但我不知道如何连接所有 3 个表正确的方法

CREATE TABLE users
(`user_id` int, `user_login` varchar(7), `description` varchar(55));

INSERT INTO users
(`user_id`, `user_login`, `description`)
VALUES
(100, 'user_1', 'userdataxxxx'),
(201, 'user_2', 'userdatayyyy'),
(301, 'user_3', 'userdatazzzz');

CREATE TABLE signups
(`id` int, `user_login` varchar(7), `meta` varchar(55));

INSERT INTO signups
(`id`, `user_login`, `meta`)
VALUES
(1, 'user_1', 'metaxxxxx'),
(2, 'user_2', 'metayyyy'),
(3, 'user_3', 'metazzzzz');

CREATE TABLE courses_history
(`id` int, `user_id` int, `stuff` varchar(55), `course_id` int);

INSERT INTO courses_history
(`id`, `user_id`, `stuff`)
VALUES
(1, 301, 'stuffxxx', 10),
(2, 301, 'stuffyyyy', 11),
(3, 100, 'stuffzzzz', 22);
(4, 201, 'stuffzzzz', 66);
(5, 201, 'stuffzzzz', 88);

谢谢

最佳答案

SELECT ch.id, u.user_login, su.meta
FROM signups su
INNER JOIN users u ON su.user_login = u.user_login
INNER JOIN courses_history ch ON u.user_id = ch.user_id

关于mysql - 如何使用第三个表连接两个没有公共(public)列的 SQL 表,第三个表包含这两个表的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35283251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com