【问题标题】:I wan to nest two sql command. The first one t relies on the result from a previous query我想嵌套两个 sql 命令。第一个 t 依赖于先前查询的结果
【发布时间】:2020-11-17 23:11:33
【问题描述】:

**我可以从两个表中单独读取

对于第一个查询,我运行 '从wp_um_groups_members中选择不同的group_id'

然后得到

Group ID
64
179
430

当我选择一个组并运行第二个查询时

SELECT COUNT( `user_id1` ) AS Member
FROM `wp_um_groups_members`
WHERE `group_id` = 179 AND
    status = 'approved' AND
    `user_id1` IN ( SELECT ID FROM `wp_users` WHERE ID = `user_id1` )

我得到了下面

Members
9

我正在尝试使用表的结果作为第一个查询的输入,以达到以下期望的结果

**

Group ID Member 
64          0
179         9
430         3

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。

标签: sql wordpress phpmyadmin


【解决方案1】:

我想你想要一个left join 和聚合:

SELECT ugm.group_id, 
       SUM(ugm.status = 'approved' AND ugm.id IS NOT NULL) AS num_members
FROM `wp_um_groups_members` ugm LEFT JOIN
     wp_users u
     ON ugm.user_id1 = u.id
GROUP BY ugm.group_id;

这使用 MySQL 语法,但如果您使用不同的数据库,可以轻松转换为 casefilter

【讨论】:

  • 谢谢哥们,我知道命令是 LEFT JOIN 但我不经常使用 SQL
  • 您在上面使用的“ugm”名称能否解释一下这是什么意思。
  • @kolawole 。 . .那是一个表别名。它是 SQL 语言的重要组成部分。该查询还限定所有列引用,这是一种最佳做法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-05
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 2020-05-19
  • 2021-01-11
  • 1970-01-01
相关资源
最近更新 更多