【发布时间】:2015-04-14 00:44:13
【问题描述】:
我有一个名为I_Tags 的列,我试图将它与另一个表Asset_Tags 进行比较。
I_Tags 具有类似
PV-B02-0115
B04-PV-7126B--
B05-PV0841A--
B05-PV-0841B--
B09-PV-1155A--
Asset_Tags 有类似的字段
PV-B04-6888
PV-B05-0841A--
PV-B05-1219
PV-B09-1155A--
我不确定如何根据以下场景编写案例陈述:
- 如果
I_Tag中的前两个字符是字母PV,则匹配整个字符串以匹配Asset_Tags - 如果不是,并且 PV 是
I_Tag中的第 4 和第 5 个字符,请将它们移动到第 1 和第 2 个字符位置并删除末尾的任何/所有短划线 (-) 并与Asset_Tags匹配。
我从未在 SQL 中编写过 case 语句,所以我不确定如何为此编写查询。
任何帮助将不胜感激。谢谢
【问题讨论】:
-
你可以发布输出
-
你试过了吗?
-
我没有尝试过 case 语句,因为我不知道从哪里开始(尽管我尝试将 PV 放在一列中,B05 等放在另一列中,最后 4-6 个字符在另一列中,然后全部基于资产但这需要很长时间,因为数据集不止几列)输出是:PV-B05-0841A 和 PV-B09-1155A
标签: sql sql-server database sql-server-2008