【发布时间】:2019-11-21 15:44:34
【问题描述】:
我正在尝试从 2 个表中选择记录,其中名为 DESC 的第一个表列(前 3 个字符)应与第二个表的项目列匹配。
select SUBSTRING(a.[DESC],1,3) from Table1 a
left outer join Table2 b
on a.[DESC] = b.project
where SUBSTRING(a.[DESC],1,3) like b.project
输入: 第一个表 DESC 列: 值:'2AB F YY'
第二个表项目列: 值:'2AB'
预期输出: 返回值为 2AB 的所有记录
【问题讨论】:
-
请输入和预期输出?
-
刚刚编辑了我的问题
-
如果可能的话,您应该考虑修复您的数据模型。您似乎在 TableA 中存储了多条数据。该项目和一堆其他东西。当您像这样将多个数据点推到一起时,这违反了 1NF。它会强制您的查询不可搜索。即使是持久的计算列也会更好。
-
@SeanLange 感谢您的建议!
-
不知道为什么有人反对这个。这个问题很清楚,对于 t-sql 的新手来说,这可能很容易研究或弄清楚。他们发布了提供答案所需的所有信息。
标签: sql sql-server stored-procedures stored-functions