database - 使用 IN 运算符和 NOT LIKE 考虑通配符匹配

标签 database sybase sap-ase

我有两张 table 。

TableA(% is a wild card character)

---------------
str           |
---------------
abc%          |
xyz%          |
pop%          |
---------------

TableB
--------------------
id | name | domain |
--------------------
1  | Paul | zzz.ko |
2  | John | abc.lo |
3  | Kal  | pop.cm |
--------------------

我想从 TableB 中获取 domain 与 TableA str 字段不匹配的所有记录( 通配符匹配)。

最佳答案

粗略的查询如下所示:

select * from TableB b
where not exists (select 1 from TableA a where b.domain like a.str)

此外,您可能希望避免使用“str”作为列名称。

关于database - 使用 IN 运算符和 NOT LIKE 考虑通配符匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59490634/

相关文章:

java - 关于在java中使用hibernate和注释进行数据库查询的问题

php - 所有时区数据库

mysql - 如何通过 3 个内连接获得最大值?

java - 将 Java 连接到 SQL Anywhere 数据库时出错

sql - 即使索引存在也进行全表扫描?

sybase - 如何在sybase ase中添加前导零

mysql - 为什么在 MySQL 中使用 '' 或 ""不能通过 ORDER BY 对列别名进行排序?

tsql - Sybase: 'go' block 中 'IF EXISTS' 附近的语法不正确

c# - Windows 7中通过C#访问Sybase :ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

sql计算两行之间的差异