mysql - 在其他语句中使用 SQL 查询的结果

标签 mysql sql join

我似乎无法弄清楚如何进行连接语句。

select usrs.*
from
    students s
    join system_users usrs on
        s.father=usrs.user_id
        OR s.mother=usrs.user_id
        OR s.guardian=usrs.user_id
where s.user_id = '201209083'

我有这个查询,它返回:

+------------+---------+--------+--------+
| user_id    | contact | status | rights |
+------------+---------+--------+--------+
| f201209083 |    4093 | active | NULL   |
| g201209083 |    4095 | active | NULL   |
| m201209083 |    4094 | active | NULL   |
+------------+---------+--------+--------+

现在我需要的是使用联系人列的信息检索更多信息并将其与此表连接:

select
    *
from
    address
where
    contact_id = (contact column);

我需要帮助在一个查询中实现它。

附言谁能告诉我这种技术叫什么?我无法通过仅搜索 JOIN 找到有关此的信息。或者学习链接会更好。

最佳答案

您可以将当前语句作为子查询并加入:

SELECT * FROM address 
JOIN (
    SELECT 
        usrs.* 
    FROM 
        students s 
        JOIN system_users usrs ON s.father=usrs.user_id OR s.mother=usrs.user_id OR s.guardian=usrs.user_id 
    WHERE 
        s.user_id = '201209083'
) AS temp 
ON contact_id = (contact column);

这应该会为您提供原始结果以及 address 表中的结果。

关于mysql - 在其他语句中使用 SQL 查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13590610/

相关文章:

mysql - 对这个简单的 INNER JOIN 查询有疑问吗?

具有多个连接的 SQL Grouping 组合结果不正确

javascript - Bar Chart.js 不显示 PHP、MySQL、AJAX 的值

php - 在 mysql 中前进

mysql - MySQL 中的记录自动排序

php - 以这种特定方式对我的数据库进行非规范化会有助于提高性能吗?

MySQL - 选择标题如 %x% - 通配符如

mysql - 如果第一个字母相同,SQL Access 内连接

c# - 在 C#.net 中使用 LINQ 连接两个 CSV 文件的列

android - 插入MySQL时部分数据丢失