sql - 使用内部联接进行查询,仅使用对象资源管理器和 sp_help 不使用图表
问题描述
我知道这很容易,但我已经以不同的方式尝试过。我正在使用 AdventureWorks2008R2 数据库,我需要从所有已售产品 (Product) 和客户 (Customer) 的所有订单 (SalesOrderHeader) 中获取 Salesorderid、Orderdate、orderqty、name、firstname、lastname
- 第一个我看到了我的错误但决定重新开始
Select OrderDate,OrderQty,FirstName,LastName,Name,soh.SalesOrderID
from Sales.SalesOrderHeader soh
Inner Join Sales.SalesOrderDetail sod on soh.SalesOrderID = soh.SalesOrderID
Inner Join Sales.Customer sc on soh.CustomerID = sc.CustomerID
Inner Join Person.Person pp on soh.PersonID = pp.PersonID <-- My mistake
Inner Join Purchasing.ProductVendor ppv on pp.BusinessEntityID = ppv.BusinessEntityID
inner join Production.Product ppr on ppv.ProductID = ppr.ProductID
- 我做了这个,但它什么也没显示
Select OrderDate,OrderQty,FirstName,LastName,Name,soh.SalesOrderID
From Person.BusinessEntity pbe
inner join person.person pp on pbe.BusinessEntityID = pp.BusinessEntityID
inner join sales.store ss on pbe.BusinessEntityID = ss.BusinessEntityID
inner join sales.SalesOrderHeader soh on ss.SalesPersonID = soh.SalesPersonID
inner join sales.Customer sc on soh.CustomerID = sc.CustomerID
inner join sales.SalesOrderDetail ppo on soh.SalesOrderID = ppo.SalesOrderID;
我正在使用 sphelp 方法,但我不知道您是否可以提供一些关于如何在没有图表的情况下找到每个表之间关系的提示,我正在努力解决这部分问题,我也尝试使用对象资源管理器. 例如:
在上图中,我的理解是Sales.SalesOrderDetail有一个名为SalesOrderId的主键,然后SalesOrderHeader有一个相同的外键,与SpecialOfferProduct相同,所以说我应该能够在SalesOrderDetail和SalesOrderHeader之间进行连接,使用 SalesOrderID 我认为这是我的主要问题,很抱歉我无法理解这一点
解决方案
推荐阅读
- c# - 本地和发布的完整日历事件时区问题
- python - 创建特性后,在创建 UBM 期间 Sidekit 代码冻结
- c# - 使用 foreach 构建 SQL
- php - 加密/解密个人数据 Codeigniter
- ios - Amazon polly 没有读取第一个单词/在 iOS Swift 中听不到
- batch-file - 如何使用 VBScript 或批处理文件反转窗口颜色?
- kotlin - AWS/Aurora:是否可以知道从属设备是否正确使用
- php - left join count ignore left table column from counting
- java - 在 RESTAssured/Java 中针对 JSON 响应验证 UI
- android - 带有 Youtube Player API 的 Viewpager