我试图遍历表中的列值。我有一个注册表,可以根据用户的信息为用户提供UNIQUE ID。例如:国家=奥地利
每个选择国家(奥地利)的用户都将为该匹配项获得某种唯一值(比如说00)。
帐户ID如下所示:
XXXX00UNIQUECODE
每个国家都有其独特的价值:(AT = 00, DE = 01, etc
)
现在,我想为每个用户生成一个唯一代码,这将是针对同一国家/地区的表中存储的先前UC值的增量(+1)值!
为此,我需要以某种方式遍历存储帐户ID的列并搜索匹配项。问题是,当用户尝试生成唯一代码时,他还没有唯一代码,因此他只有:
XXXX00
现在,我需要在我的AccountID列中找到所有XXXX00字符串,并将它们存储在数组中-然后找到那些的最大值并递增。
但是我不知道如何在表的列中搜索字符串的一部分?只是XXXX00
一部分,而不是整个帐户ID XXXX00UNIQUECODE
。
啊,我希望你能理解我。我知道这很复杂,但是我真的被困在这里。希望有人会明白我的意思,甚至可以找到一个更流畅的解决方案。
提前致谢!
您正在将一个方形的钉子撞到一个圆孔中。为什么不只是创建一个名为UserID的新列,然后您可以执行以下操作:
SELECT Max(UserID) FROM MyTable WHERE Mid(AccountID, 5, 2) = "00"
并增加1。
更好的是,将CountryCode,UserID和XXXX部分存储在单独的字段中,并将它们编入索引。当您搜索或过滤时,它将节省时间,我假设您会这样做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句