假设我有这个表(产品):
part_number product_name
1202 airpods
1204 ipod
1398 iphone 6
1304 watch I
1378 iphone 7
1244 airpods 2
我要选择 part_number
除第三个字符外,至少有一个匹配项(几乎完美)。所以最终结果是这样的:
part_number product_name
1204 ipod
1398 iphone 6
1378 iphone 7
1244 airpods 2
有没有办法用like操作符来做这个?我知道like在陈述几个已知的字符时可以找到模式,但在这种情况下,我不一定知道那些是什么。
note:yeah,零件号字段定义为字符串,而不是数字。
3条答案
按热度按时间y0u0uwnf1#
我知道您需要的行中存在另一行的零件号部分匹配:前两个数字和最后一个数字应该匹配,而第三个数字不同。
你可以用
exists
. 假设part_number
是一个整数(应该是这样),您可以使用算术:您还可以使用字符串函数-这使得查询更容易理解(尽管效率可能更低):
db fiddle上的演示-两个查询都产生:
k0pti3hp2#
目前还没有sqlite,但在大多数sql变体中,这是可行的:
r7knjye23#
你可以用
COUNT()
窗口功能:请看演示。
结果: