sql-server - 根据列中的多个值选择行
问题描述
我有两个表(T1,T2)。下面是这两个表的示例记录。
T1
--
RNO NAME
--- ------
1 NAME1
2 Name3
3 Name4
T2
---
RNO NAMES
--- -----
1 NAME1,Name5
2 Name4
3 Name2
我想根据 T2 表中的“名称”列从 T2 中选择记录,该列包含 T1 表中“名称”列的任何一个值。
例如
Sample Output
RNO Names
--- -----
1 Name1,Name5
2 Name4
'Name2' 不应出现在输出中,因为它在 T1 表中不存在。请帮助。
解决方案
这有用吗。?
SELECT * FROM T2
Inner join T1
ON (
(t2.Name=t1.Name)
OR
(t2.Name LIKE'%'+t1.Name+',%')
OR
(t2.Name LIKE'%,'+t1.Name+'%')
OR
(t2.Name LIKE'%,'+t1.Name+',%')
)
推荐阅读
- spring-boot - JsonView ignore all but annotated properties
- php - Laravel passport returning Unauthenticated in production but works on localhost
- vb.net - How to change crystal report row forecolor base on dates
- html - NVDA 在读取模态对话框中的焦点元素后读取所有模态内容
- react-native - React native:如果我使用 mongodb 缝合,本地数据库应该是什么
- asp.net - 当新会话在同一台机器单独的浏览器窗口中启动时删除/覆盖先前的会话
- c# - 关于数据库优先方法
- r - 具有 2 种周期的时间序列
- reactjs - 尝试更新值时无法更改状态
- mysql - Adding optional parameter to stored procedure ,and if i didnt pass that param then all details has to fetch