[英]SQL Wildcard at Like Operator with embedded table
我对 SQL 编程很陌生。 这是我的问题:使用此查询:
Select Artikelname as Artikel
from Artikel
where Artikelname Like (Select txtFilter from Filter)
我想在表达式“txtFilter”中添加一个通配符,以便显示所有以“txtFilter”字段中的第一个字母开头的“Artikelname”。
这个:
Select Artikelname as Artikel
from Artikel
where Artikelname Like ((Select txtFilter from Filter)*)
或这个:
Select Artikelname as Artikel
from Artikel
where Artikelname Like (Select txtFilter from Filter) + "*"
不起作用。
谢谢你的帮助!
使用exists
:
Select a.Artikelname as Artikel
from Artikel a
where exists (select 1
from txtFilter f
where a.Artikelname like
f.textFilter||'%' ;
);
为什么不使用连接,然后使用LIKE
Select Artikelname as Artikel
from Artikel a join (Select distinct
txtFilter
from Filter) f on
a.Artikelname like f.textFilter||'%' ;
* 通配符不是 SQL 标准的一部分——使用 % 代替。 在这种情况下,您可以将 LIKE 运算符与 JOIN 一起使用 - 如果我了解您的目标。 也有正则表达式,但它们没有被普遍实现。 至少 PostgreSQL 有它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.