sql - 不喜欢嵌套 SQL
问题描述
我有一个包含电话号码值的表,它也可以是通配符,例如下面提到的 %
select phonenumber from table_2 ;
1 5159199076
2 210645%
3 %0869067
我需要有关 SQL 查询的帮助,以排除 table_2 中存在的电话号码的所有值
所以 table_1 有这些值
ID Phonenumber
101 9757895378
201 **2106450789**
301 **9190869067**
401 8757895078
select table_1.phone_number
from table_1
where table_1.phone_number not in
(
select phonenumber from table_2
where phonenumber = table_1.phonenumber)
如果 table_2 中没有通配符,例如 210645%或%0869067 ,则此方法有效
我更新了 SQL
select table_1.phone_number
from table_1
where table_1.phone_number not like
(
select phonenumber from table_2
)
这导致不返回任何行,如何修改 SQL 以获得正确的结果,以便不包含通配符?DB是postgres。
谢谢
解决方案
select table_1.phone_number
from table_1
where table_1.phone_number not in
(
select phonenumber from table_2)
推荐阅读
- c# - 我像往常一样这样做,但为什么绑定不起作用?
- azure-ad-b2c - Azure AD B2C - 如何向访问令牌传播新用户声明
- python - 我如何从 csv fille 获取 dict 作为 dict 返回
- debugging - 如何对存储在天蓝色工件中的符号进行同步?
- python - 如何让参与者在python中按下特定的数字键?
- python - 我启动 GAN 网络并收到一条消息 - 函数调用堆栈:keras_scratch_graph
- excel - 错误消息 运行时错误 1004 自动筛选方法或范围类失败
- reactjs - 想要在测验结束时更改 React js 中的状态并显示信息
- forms - Symfony 5,表单验证 - 创建和更新问题/问题的 UniqueEntity
- security - BIML 和敏感数据