内容简介:http://stackoverflow.com/questions/8758223/sql-server-multiple-table-joins-with-a-where-clause
我正在使用SQL Server,我很难想从我想要的SELECT查询中获取结果.我尝试加入不同的订单和使用子查询,但没有什么是我想要的方式.拿这个具有不同版本级别的软件应用程序的例子,可能安装在人民币计算机上.
我需要执行一个附加的地方,但由于某种原因,我无法得到我想要的结果.
也许我正在看我的数据错误,我不太确定为什么我不能让这个工作.
申请表
ID Name 1 Word 2 Excel 3 Powerpoint
软件表(包含不同应用程序的版本信息)
ID ApplicationID Version 1 1 2003 2 1 2007 3 2 2003 4 2 2007 5 3 2003 6 3 2007
软件计算机连接表
ID SoftwareID ComputerID 1 1 1 2 4 1 3 2 2 4 5 2
电脑桌
ID ComputerName 1 Name1 2 Name2
我想要一个查询,我可以运行我选择一个特定的计算机来显示什么软件版本和应用程序,但我也希望它显示什么应用程序它没有(版本将是一个空的,因为它没有那个软件就可以了)
SELECT Computer.ComputerName, Application.Name, Software.Version
FROM Computer
JOIN Software_Computer
ON Computer.ID = Software_Computer.ComputerID
JOIN Software
ON Software_Computer.SoftwareID = Software.ID
RIGHT JOIN Application
ON Application.ID = Software.ApplicationID
WHERE Computer.ID = 1
我想要以下结果集
ComputerName Name Version Name1 Word 2003 Name1 Excel 2007 Name1 Powerpoint NULL
但我只是得到
Results ComputerName Name Version Name1 Word 2003 Name1 Excel 2007
我认为RIGHT JOIN将包括应用程序表中的所有结果,即使它们与计算机无关.我缺少/做错了什么?
使用LEFT JOIN或RIGHT JOIN时,无论您将滤镜放在“WHERE”还是“JOIN”中,都有所不同.
看到这个答案我刚才写的一个类似的问题:
What is the difference in these two queries as getting two different result set?简而言之:
>如果把它放入WHERE子句(就像你所做的那样),与该计算机无关的结果被完全过滤掉
>如果你把它放在JOIN中,那么与查询结果不相关的结果就出现在查询结果中,只有NULL值
– >这是你想要的
http://stackoverflow.com/questions/8758223/sql-server-multiple-table-joins-with-a-where-clause
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- SQL中 where 子句和having子句中的区别
- MySQL中包含IN子句的语句是怎样执行的
- Laravel MySQL如何以与whereIn子句相同的顺序排序结果
- c# – 使用表达式树创建完全动态的where子句并在IQueryable上执行
- Studio 3T中的新功能:支持SQL SELECT DISTINCT,WHERE子句中的JSON对象及更多
- 大数据领域开源工具有哪些
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
机器与人:埃森哲论新人工智能
【美】保罗•多尔蒂 詹姆斯•威尔逊 / 赵亚男 / 中信出版社 / 2018-10-1 / 49.00元
自人工智能问世以来,人们普遍持有人机对立的观点,且无时无刻不在害怕自己的工作会被人工智能取代。作者认为,是时候抛开这些无谓的担忧了,因为人类社会正走向一个与机器共融共生的时代。 未来的新型工作模式是什么?未来有哪些工作不会被人工智能取代?人工智能时代重要的生存技能是什么?本书围绕这三大核心问题做了透彻的分析。作者带我们见识了置于业务流程背景之下的人工智能,阐述了其在不同职能部门中起到的推动作......一起来看看 《机器与人:埃森哲论新人工智能》 这本书的介绍吧!