sql - 查找没有对应记录且末尾有扩展名的记录
问题描述
我想查找末尾带有(.XX)扩展名的记录,而这些记录最后没有没有扩展名(.XX)的相应记录。如果可能的话,我想使用“存在”或“不存在”的解决方案,因为我很困惑为什么我的没有输出。
输入
可乐 值1.XX 价值1 值2.XX 价值3
**预期输出**
可乐 值2.XX
代码
选择 * 从表 1 作为 在哪里 对 (table1.[col_a],3) = ".XX" 并且存在( 从 table1 b 中选择 1 其中 Left(a.[col_a], Len(a.[col_a]) - 3) = b.[col_a] )
解决方案
嗯。你
select t1.*
from table1 t1
where t1.col_a like '%.XX' and
not exists (select 1
from table1 tt1
where t1.col_a = tt1.col_a || '.XX'
);
注意:您尚未指定数据库,因此它使用 ISO/ANSI 标准||
进行字符串连接。您可以查看 RDBM 的文档以了解正确的连接技术。
推荐阅读
- visual-studio-code - (vscode) 修改Tomcat server.xml中的上下文路径
- python - 将 Prettytable 的输出发送到 Telegram
- python - 从 python 数据框中按组提取统计信息的更快方法
- c++ - 4维数组C++
- php - 如何在 PHP CodeIgniter 中设置用户访问权限?
- python - 了解 LSTM 的输出形状
- python - Python 定义分组的更难的 itertools.product 问题
- regex - 正则表达式替换 URL 的一部分
- c# - 如何在 Asp.Net Core MVC 中使用 ActionFilterAttribute 将数据从控制器传递到布局
- ios - CALayer 自定义属性动画和表示层生命周期