mysql - MySQL:选择一个表中的元素但不在另一个表中,我得到错误的结果
问题描述
我有两个分别名为 tableA 和 tableB 的表
表 B 包含所有地点的名称。我想选择所有设施和周,设施在表 A 中但不在表 B 中。下表显示了我打算实现的目标
下面的 MySql 查询给出了错误的结果
select tableA.Week ,tableB.Place
from tableA
RIGHT JOIN tableB
on tableA.Place <> tableB.Place
解决方案
你需要一个CROSS
不同Week
的TableA
toTableB
和的NOT EXISTS
连接来得到你想要的结果:
SELECT w.Week, b.Place
FROM (SELECT DISTINCT Week FROM TableA) w
CROSS JOIN TableB b
WHERE NOT EXISTS (SELECT 1 FROM TableA a WHERE a.Week = w.Week AND a.Place = b.Place)
请参阅演示。
结果:
星期 | 地方 |
---|---|
1 | C |
2 | 乙 |
2 | C |
推荐阅读
- python - 关于python中str和int的函数乘法和类型错误的问题
- python - 一条等高线上的颜色渐变
- python - Python 浮点数的最长可能字符串表示形式是什么?
- python - 模块作为无属性 - self.variable.function(self)
- firebase - firebase 如何区分用于 Firebase 分析的网站?
- actionscript-3 - 如何将我的 Flash 项目设置为最大窗口大小?
- ethereum - 避免使用solidity的transfer()/send()?
- google-apps-script - 在从 android 应用程序获取输入到 Google 工作表并使用 onChange 触发器时遇到问题?
- vim - 在 Vim 中使用模板文件
- python - 在 python 上带有 webhook 的电报机器人