我正在使用SQL Server,我很难尝试从SELECT我想要的查询中获取结果.我尝试过加入不同的命令并使用子查询,但没有什么能按我想要的方式工作.以这个人为计算机上可能安装的具有不同版本级别的软件应用程序为例.
我需要执行JOIN一个WHERE,但由于某些原因,我不能得到我想要的结果.
也许我正在查看我的数据错误,我不太清楚为什么我不能让它工作.
申请表
ID Name
1 Word
2 Excel
3 Powerpoint
Run Code Online (Sandbox Code Playgroud)
软件表(包含不同应用程序的版本信息)
ID ApplicationID Version
1 1 2003
2 1 2007
3 2 2003
4 2 2007
5 3 2003
6 3 2007
Run Code Online (Sandbox Code Playgroud)
Software_Computer连接表
ID SoftwareID ComputerID
1 1 1
2 4 1
3 2 2
4 5 2
Run Code Online (Sandbox Code Playgroud)
电脑桌
ID ComputerName
1 Name1
2 Name2
Run Code Online (Sandbox Code Playgroud)
我想要一个我可以运行的查询,我选择一台特定的计算机来显示软件版本和应用程序有哪些,但我也希望它显示它没有的应用程序(版本将是一个,NULL因为它没有那个软件就可以了)
SELECT Computer.ComputerName, Application.Name, Software.Version
FROM Computer
JOIN Software_Computer
ON …Run Code Online (Sandbox Code Playgroud)