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中所有子文件夹的所有部分的所有图像?关闭-“如何加入”是一个常见问题。还有大量其他问题。