是否可以在一张表中比较 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())