0

我有一个查询,我正在寻找一种方法来执行子查询并将结果作为最后一列加入

像这样:我当前的查询有效并且类似于:

SELECT * FROM users_table JOIN randomjoin here WHERE blah

我运行并希望集成到第一个查询中的第二个查询是:

SELECT COUNT(*) FROM #__community_fields_values WHERE field_id="16" AND value="'. $row->username .'"

所以我想做的是在结果中创建一个额外的列来显示另一个查询的计数。重点是我可以按最后一列对结果进行排序

有人可以帮我弄清楚吗?

4

1 回答 1

1

您可以JOIN针对子查询,只要它获得别名。

SELECT 
  users_table.*,
  usercount.num
FROM 
  users_table
  LEFT JOIN (
    /* Added the value column and a GROUP BY to the subquery to return usernames & counts. */
    SELECT 
      COUNT(*) AS num, 
      value 
    FROM #__community_fields_values 
    WHERE field_id=16 
    GROUP BY value
  ) usercount ON users_table.username = usercount.value
于 2012-04-03T20:17:56.620 回答