Microsoft SQL Server:如何将这三个表放在一起?

时间:2018-06-25 01:00:56

标签: sql sql-server

这是一个库。我有三个表:

文档表-实际上是文件名

   DocumentID
   FileName
   a bunch of other columns

项目表-实际上是文件夹名称

   ProjectID
   Path
   a bunch of other columns

DocumentsInProjects

   ProjectID (from Projects)
   DocumentID (from Documents)

DocumentsInProjects示例数据如下:

ProjectID   DocumentID
----------------------
34           23974
998             28

DocumentsInProjects是一个表,用于将Document与其所在的Project(文件夹)连接。

我需要进行选择以生成path \ FileName。另外,我只需要显示路径/文件名的组合,其中:

  • 路径包含某些文本
  • 文件名包含某些文本

关于如何构建此查询,我没有真正的线索。似乎可能是联接,但是我的SQL技能非常非常弱。

1 个答案:

答案 0 :(得分:1)

加入表,连接字符串,然后使用LIKE查找“某些文本”。

SELECT p.path + '\' + d.filename
       FROM documents d
            INNER JOIN documentsinprojects dp
                       ON dp.documentid = d.documentid
            INNER JOIN projects p
                       ON p.projectid = dp.projectid
       WHERE p.path LIKE '%certain text%'
             AND d.filename LIKE '%certain text%';