Sql 不与子查询一起使用
我被要求在sql server数据库中显示以下问题的结果 哪些软件包未安装在任何HP计算机上? 我尝试了以下方法,但我仍然得到了PACKNAME Manta的结果,但该软件包安装在HP计算机上。我错过了什么 我在下面附上了数据的图像供您参考Sql 不与子查询一起使用,sql,sql-server,subquery,Sql,Sql Server,Subquery,我被要求在sql server数据库中显示以下问题的结果 哪些软件包未安装在任何HP计算机上? 我尝试了以下方法,但我仍然得到了PACKNAME Manta的结果,但该软件包安装在HP计算机上。我错过了什么 我在下面附上了数据的图像供您参考 您可以将不存在与相关子查询一起使用,该子查询将其他表连接在一起,并包含您的筛选条件: select pk.pack, pk.packname, pk.packv, pk.packtype, pk.packcost from package pk where
您可以将
不存在
与相关子查询一起使用,该子查询将其他表连接在一起,并包含您的筛选条件:
select
pk.pack,
pk.packname,
pk.packv,
pk.packtype,
pk.packcost
from package pk
where not exists (
select 1
from software s
inner join pc on pc.tagnum = s.tagnum
inner join computer c on c.comp = pc.comp
where s.pack = pk.pack
and c.mfrname = 'HP'
)
order by pk.pack;
结果
| pack | packname | packv | packtype | packcost |
|------|------------------|-------|-----------------|----------|
| AC11 | Quick Accounting | 4.1 | Accounting | 754.95 |
| AC12 | Accounting MIS | 4.0 | Accounting | 2000 |
| AC13 | Quickbook | 2005 | Accounting | 300 |
| DB11 | Manta | 1.5 | Database | 380 |
| DB13 | SQL Server | 2005 | Database | 500 |
| DB14 | My SQL | 2005 | Database | 300 |
| SS11 | Easycal | 5.5 | Spreadsheet | 225.15 |
| WP04 | Word Power | 2 | Word Processing | 118 |
| WP07 | Good Word | 3.2 | Word Processing | 35 |
| WP14 | GOOGLE | 2 | Word Processing | 118 |
谢谢您的及时回复,但我仍然收到一个列表中有PACKNAME MANTA的结果。那么它一定在列表中了。你检查过了吗?是的。Manta安装在与包DB22关联的HP计算机上,但问题的措辞是,它正在查找所有未安装在任何HP计算机上的包。这看起来像是某种
作业。在我们尝试帮助您进行查询之前,您是否必须使用或不能使用任何特定的查询方法?我被告知只使用子查询。回答“某物不存在”问题的任何查询通常最好使用不存在(子查询)模式。使其真正易于理解,并且通常运行效率高。我会研究它。mysql还是sql server?这是针对Microsoft SQL server management studio 17的
select
pk.pack,
pk.packname,
pk.packv,
pk.packtype,
pk.packcost
from package pk
where not exists (
select 1
from software s
inner join pc on pc.tagnum = s.tagnum
inner join computer c on c.comp = pc.comp
where s.pack = pk.pack
and c.mfrname = 'HP'
)
order by pk.pack;
| pack | packname | packv | packtype | packcost |
|------|------------------|-------|-----------------|----------|
| AC11 | Quick Accounting | 4.1 | Accounting | 754.95 |
| AC12 | Accounting MIS | 4.0 | Accounting | 2000 |
| AC13 | Quickbook | 2005 | Accounting | 300 |
| DB11 | Manta | 1.5 | Database | 380 |
| DB13 | SQL Server | 2005 | Database | 500 |
| DB14 | My SQL | 2005 | Database | 300 |
| SS11 | Easycal | 5.5 | Spreadsheet | 225.15 |
| WP04 | Word Power | 2 | Word Processing | 118 |
| WP07 | Good Word | 3.2 | Word Processing | 35 |
| WP14 | GOOGLE | 2 | Word Processing | 118 |