Mysql SQL查询为(动态)列值
考虑以下MySQL场景:Mysql SQL查询为(动态)列值,mysql,data-structures,Mysql,Data Structures,考虑以下MySQL场景: Table1: id, date, value Table2: id, month, count 表1包含跨越1年(日期)的许多行和不同的值 有没有办法将表2列的值作为SQL查询进行“计数” 例如: 表2第1行 ID | Month | Count ------------------------------------------------------------------------------ 1 | 07 | SELECT COUNT(*) FR
Table1:
id, date, value
Table2:
id, month, count
表1包含跨越1年(日期)的许多行和不同的值
有没有办法将表2列的值作为SQL查询进行“计数”
例如:
表2第1行
ID | Month | Count
------------------------------------------------------------------------------
1 | 07 | SELECT COUNT(*) FROM Table1 WHERE MONTH(DATE) = Table2.month
因此,如果我做一个从表2中选择*,其中月份=07
然后我将从表1中得到相应月份的行数
每行都有一个动态列值,有没有办法
注意:我的意思是如果有任何内置的方式,而不是使用类似的子查询
SELECT *,
(SELECT COUNT(*) FROM Table1 WHERE MONTH(date) = Table2.month) as count
FROM Table2 where id = 2352
因为我的实际查询将使用多个,因此会变得非常混乱:(您是否考虑过创建视图?)
它不会阻止查询的混乱,但它确实允许您将所有内容集中在一个地方。每当表1发生变化时,我都会使用a更新相关表2行中的计数列。几乎是我想要的,但我认为这是我能得到的最接近的,谢谢:)