Sql server 如何在SqlServer中创建两个以上表之间的连接

Sql server 如何在SqlServer中创建两个以上表之间的连接,sql-server,tsql,Sql Server,Tsql,可能重复: 我有4张桌子: 文件夹(id\u文件夹,名称) 子文件夹(id_子文件夹、id_文件夹、名称、其他列等) 工件(id_工件、id_子文件夹、id_文件夹) 图像(id\u图像、id\u块、名称等) 如何获取一个文件夹的所有内容(“例如id_folder=1”)假设这些表之间存在零对多的关系,类似这样的情况可能会起作用: SELECT folder.id_folder, folder.name, subfolder.id_subfolder, subfolder.name, su

可能重复:

我有4张桌子:

  • 文件夹(id\u文件夹,名称)
  • 子文件夹(id_子文件夹、id_文件夹、名称、其他列等)
  • 工件(id_工件、id_子文件夹、id_文件夹)
  • 图像(id\u图像、id\u块、名称等)

如何获取一个文件夹的所有内容(“例如id_folder=1”)

假设这些表之间存在零对多的关系,类似这样的情况可能会起作用:

SELECT folder.id_folder, folder.name, subfolder.id_subfolder, subfolder.name, subfolder.othercolumn, piece.id_piece, image.id_image, image.name
FROM folder
LEFT JOIN subfolder
ON folder.id_Folder = subfolder.id_folder
LEFT JOIN Piece
ON subfolder.id_subfolder = piece.id_subfolder
LEFT JOIN [image]
on piece.id_piece = image.id_piece
WHERE folder.id_folder = 1;

您将
JOIN
您的表,如下所示:

select *
from folder f
left join subfolder sf
    on f.id_folder = sf.id_folder
left join piece p
    on sf.id_subfolder = p.id_subfolder
    and sf.id_folder = p.id_folder
left join image i
    on p.id_piece = i.id_piece
where f.id_folder = 1

如果您需要帮助学习
JOIN
语法,那么有一个很好的方法可以帮助您。

您想检索的是什么,文件夹1中所有子文件夹的所有部分的所有图像?关闭-“如何加入”是一个常见问题。还有大量其他问题。