首页 > 解决方案 > 联合所有字段,只给我一列

问题描述

我正在运行需要两个单独计数的查询,但它显示在一列下。

知道我该如何解决

SELECT
         count(*) as x
        FROM
          tblpost
     
        WHERE
          tblpost.PostStatusID = 6
       
        UNION ALL 
          SELECT
         count(*) as y
        FROM
          tblpost
          
        WHERE
          tblpost.PostStatusID = 7 

我希望它使用 mysql 5.7 将 x 和 column 和 y 显示为一列,但只有 1 行有两列

标签: mysqlsql

解决方案


你不想要一个UNION,你想要一个CROSS JOIN

SELECT x, y
  FROM (SELECT count(*) as x
          FROM tblpost
          WHERE tblpost.PostStatusID = 6) z
  CROSS JOIN (SELECT count(*) as y
                FROM tblpost
                WHERE tblpost.PostStatusID = 7) zz

db<>在这里摆弄


推荐阅读