【发布时间】:2020-12-15 11:27:24
【问题描述】:
我在处理这个查询时遇到了一些问题。
我有两张桌子:
表 1:
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| ID | varchar(255)| NO | PRI | NULL | |
| Sex | int(20) | YES | | NULL | |
| Income | varchar(255)| YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
表 2:
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| ID | varchar(255) | NO | PRI | NULL | |
| var1 | varchar(255) | YES | | NULL | |
| var2 | varchar(255) | YES | | NULL | |
+-----------+--------------+------+-----+---------+-------+
我想要做的是,基于三个变量的条件,例如:
- 性别 = 1
- 收入 = 3(组)
- var1 = "威斯康星州"
计算出现次数。即符合条件的人数。
我发现的主要问题是第二个表的行数不同,因为每个人的样本量不同,因此,ID 列中的每一行都有不同的名称两个表之间。
说清楚:
Table1
+------------+-------------+---------+
| ID | Sex | Income |
+------------+-------------+---------+
| 5463D | 1 | 2 |
| 1236Y | 0 | 4 |
| 7456H | 0 | 3 |
+------------+-------------+---------+
Table 2
+------------+-------------+---------+
| ID | Var1 | Var2 |
+------------+-------------+---------+
| 5463D-567 | "Wisconsin" | var2_1 |
| 1236Y-856 | "Wisconsin" | var2_2 |
| 7456H-569 | "Nevada" | var2_3 |
+------------+-------------+---------+
我认为解决方案可以通过对表 2 进行子查询,或者创建一个包含所需变量的临时表。但到目前为止我还没有找到这样做的方法。
任何帮助将不胜感激。
【问题讨论】:
-
这和your previous question有什么不同?