MySQL:确定多个表中是否存在日期

MySQL:确定多个表中是否存在日期,mysql,Mysql,我正在建立一个月度统计表系统。如果某个月未设置统计数据,系统首页显示“+”,如果已设置统计数据,则显示[铅笔图标] 首页看起来与此类似(铅笔字形替换为管道) ……等等 很简单 但问题是,我不仅仅是检查一个表,看它的“month_id”字段是否等于月份;我查了7张不同的桌子。所有7个表都有一个公共字段“month\u id” 如果7个表中的任何一个表包含与当前月份匹配的月份id,则应显示铅笔图示符。如果不是,则为“+” 我不需要为此生成HTML或PHP的任何帮助,只要告诉我是否有有效的方法查询数据

我正在建立一个月度统计表系统。如果某个月未设置统计数据,系统首页显示“+”,如果已设置统计数据,则显示[铅笔图标]

首页看起来与此类似(铅笔字形替换为管道)

……等等

很简单

但问题是,我不仅仅是检查一个表,看它的“month_id”字段是否等于月份;我查了7张不同的桌子。所有7个表都有一个公共字段“month\u id”

如果7个表中的任何一个表包含与当前月份匹配的月份id,则应显示铅笔图示符。如果不是,则为“+”

我不需要为此生成HTML或PHP的任何帮助,只要告诉我是否有有效的方法查询数据库即可。

这里有一个解决方案:

SELECT
    (SELECT COUNT(*) FROM table1 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table2 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table3 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table4 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table5 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table6 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table7 WHERE month_id = MONTH(CURDATE()));
如果结果大于0,则七个表中至少有一行匹配。

此链接可能会有所帮助
SELECT
    (SELECT COUNT(*) FROM table1 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table2 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table3 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table4 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table5 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table6 WHERE month_id = MONTH(CURDATE()))
    + (SELECT COUNT(*) FROM table7 WHERE month_id = MONTH(CURDATE()));