MySQL从同一个表中连接多个列

标签 mysql join multiple-columns

我正在尝试编写一个查询,该查询返回用户个人资料信息,以及来自另一个表的 2 列中用户 ID 的出现次数。下面是一个例子:

TableA
userID  userName
1       UserA
2       UserB

TableB
LinkID  leadID  followID
1       1       2
2       1       3
3       2       1

查询 UserID 1 我希望检索 UserA2(leadID 中出现 1)和 1(出现 1在followID)。非常感谢您对此提供的任何帮助,并提前致谢。

最佳答案

您实际上不需要加入 - 您可以改为进行三个单独的选择。

SELECT
(
    SELECT userName
    FROM TableA
    WHERE userID = 1
) AS userName,
(
    SELECT COUNT(*)
    FROM TableB
    WHERE leadID = 1
) AS count_leadID,
(
    SELECT COUNT(*)
    FROM TableB
    WHERE followID = 1
) AS count_followID

结果:

userName  count_leadID  count_followID
UserA     2             1             

关于MySQL从同一个表中连接多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3738892/

相关文章:

PHP/MySQL 帮助解析/提取分隔符和 ID

sql - 关键字 'right' 附近的语法不正确

MySQL 用户定义的比较器

apache-spark - 为什么Spark Planner偏爱排序合并联接而不是随机哈希联接?

python-2.7 - 使用 Python Pandas 进行 CSV 列比较

r - 如何在 r 中选择特定列并删除然后在其末尾添加字符串

php - 从单个查询中获取多个表的结果

mysql - 这是将 MySQL 表从 latin1 转换为 utf-8 的安全方法吗?

mysql程序问题?

java - Swing 中的多列列表