我们有一个包含产品表的数据库(MSSQL),其中产品的放置方式是在产品ID中前4个字母是客户特定的代码。例如:
等
前4个字母是客户代码,后面的部分是可以重叠的产品代码。同一个客户可以订购具有相同代码的产品,但我们将这些库存保持不变。至少在数据库中。
有没有办法进行查询,例如产品07004400B存在于多个客户条目中?
答案 0 :(得分:4)
使用"喜欢"用于查找ID以07004400B结尾的所有商品的关键字。
select count(*) from TABLE where product_id like '%07004400B'
答案 1 :(得分:1)
使用substring()
提取产品代码,并使用必须查找匹配的分组:
select substring(product_id, 5, len(product_id)) code
from products
group by substring(product_id, 5, len(product_id))
having count(*) > 1
如果您想要特定的一个,请添加where子句:
select substring(product_id, 5, len(product_id)) code
from products
where substring(product_id, 5, len(product_id)) = '0700400B'
group by substring(product_id, 5, len(product_id))
having count(*) > 1