SQL:如何查找产品代码

时间:2014-05-30 06:58:30

标签: sql sql-server

我们有一个包含产品表的数据库(MSSQL),其中产品的放置方式是在产品ID中前4个字母是客户特定的代码。例如:

  • 123070004400B
  • 002070004400B
  • 012316003030E

前4个字母是客户代码,后面的部分是可以重叠的产品代码。同一个客户可以订购具有相同代码的产品,但我们将这些库存保持不变。至少在数据库中。

有没有办法进行查询,例如产品07004400B存在于多个客户条目中?

2 个答案:

答案 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