如何将一个表中的部分字符串与另一表中的ID匹配?

时间:2020-10-13 21:48:16

标签: sql string reporting-services inner-join sql-like

我需要找到一种方法来找出谁查看,共享和下载了文档。

我需要找出一种方法来将logDetail表中的字符串中的文件ID与另一个表中的documentID进行匹配,以便我可以将文件/文档名称与这些ID进行匹配。

下面显示了我的部分表格。

logDetail enter image description here

文档

enter image description here

2 个答案:

答案 0 :(得分:2)

嗯。 。 。您可以执行以下操作:

select ld.*
from logDetail ld join
     documents d
     on ld.logDetail like concat('% ID ', d.documentId);

您显示的所有logDetail记录都以' ID <number>'结尾,因此这与该模式匹配。

答案 1 :(得分:0)

如果id始终位于日志末尾,则可以在连接条件中使用like

select *
from logdetail ld
inner join documents d 
    on l.logdetail like concat('%', d.documentid)

如果字符串格式是固定的,您甚至可以更精确:

select *
from logdetail ld
inner join documents d 
    on l.logdetail = concat('Load Shared Document with ID ', d.documentid)