我的情况与this question中的情况极其相似。我的问题是,是否有可能在不显式定义连接表的情况下创建这样的关系(例如,在该示例中显式定义'BookmarkTag‘表)。
为了清楚起见,我的情况是:
文件表
标签表
用户表
文件和标签之间存在M:M关系,因为现有标签可以附加到多个文件。我还想捕获哪个用户将标记的特定实例附加到特定文件。
发布于 2015-09-01 07:04:20
好的,看起来你需要在File表中有一个tags字段。
然后使用分隔的coma字符串保存所有标记
update File
set tags = '<c#>, <sql>, <mysql>'标签表:
id tag
1 <c#>
2 <sql>
3 <mysql>联接将是:
select F.*, T.*
from File F, Tag T
where exists (SELECT *
FROM Tag T1
WHERE CHARINDEX(T1.tag, F.tags) > 0 )注意:CHARINDEX是用于查找内部字符串的sql server。您没有指定任何rdbms,所以我只选择了一个。
https://stackoverflow.com/questions/32320985
复制相似问题