是否可以在一张表中比较 2 张表中的数据?
表格1
| ID | 瓦尔 |
|---|---|
| 1 | 安 |
| 2 | 本 |
表 2
| ID | 瓦尔 |
|---|---|
| 1 | 安 |
| 3 | 循环 |
输出
| ID | val1 | VAL2 | 匹配 |
|---|---|---|---|
| 1 | 安 | 安 | 1 |
| 2 | 本 | 0 | |
| 3 | 循环 | 0 |
UNION 将查询堆叠在顶部,因此最终会有 4 行 (1,2,1,3)。并且 INNER JOIN 可能不是最好的解决方案,因为我们不知道哪个表更长?
(SELECT t1.id, t1.val, new.sum_val, t1.val = new.sum_val as Match
FROM t1
INNER JOIN
(SELECT t2.id, SUM(t2.val) as sum_val
FROM t2
WHERE t2.date = TODAY()
GROUP BY t2.ID) new on t1.ID = t2.ID
WHERE t1.date = TODAY())