首页 > 解决方案 > 嵌套表、子查询和计数

问题描述

尝试设置一个查询,它将在其自己的列中显示每个子查询的计数。这样我就可以在未来将它们相互比较。当我运行下面的内容时,它不会一次显示“A”的计数和“T”的计数,而是在它们各自的列中一遍又一遍地显示计数。任何人都可以在这上面引马浇水并告诉我为什么它不只计算每个子查询一次吗?

SELECT A.nameofresult_1
      , T.nameofresult_2
FROM table_name
INNER JOIN  (
    SELECT COUNT( table_name.`COLUMN_1`) AS nameofresult_1
    FROM table_name
    WHERE booking_date >= current_date - interval 2 week
        AND booking_date < current_date - interval 1 week
) AS A
INNER JOIN (
    SELECT COUNT( table_name.`COLUMN_1`) AS nameofresult_2
    FROM table_name
    WHERE booking_date >= current_date - interval 1 week
        AND booking_date < current_date
) AS T

以上结果是什么

相反,我试图让它显示为: 我希望它显示什么

应该只有一排。我错过了什么?

标签: mysqlinner-join

解决方案


SELECT A.nameofresult_1
      , T.nameofresult_2

FROM  
    
(    SELECT COUNT( table_name.`COLUMN_1`) AS nameofresult_1
             
FROM table_name
WHERE booking_date >= current_date - interval 2 week
    AND booking_date < current_date - interval 1 week)
       AS A

    
        INNER JOIN

        
        (SELECT COUNT( table_name.`COLUMN_1`) AS nameofresult_2
    FROM table_name
        WHERE booking_date >= current_date - interval 1 week AND booking_date < current_date)
        
        AS T

推荐阅读