SQL Server:使用多个表和分组依据查询联接
我想加入以下三个SQL Server表,如图所示。我知道他们必须被SQL Server:使用多个表和分组依据查询联接,sql,sql-server,join,select,Sql,Sql Server,Join,Select,我想加入以下三个SQL Server表,如图所示。我知道他们必须被加入ed,但我认为是小组被抛弃了。我认为它需要一个SELECT内的SELECT select ActJobs.ID as JobID, ActJobs.JobName, ActJobs.CustomerID From Job.ActiveJobsTbl as ActJobs select Cus.ID as CustomerID, concat(Cus.LastName, ', ', Cus.FirstName) as Cust
加入ed,但我认为是小组被抛弃了。我认为它需要一个SELECT
内的SELECT
select ActJobs.ID as JobID, ActJobs.JobName, ActJobs.CustomerID
From Job.ActiveJobsTbl as ActJobs
select Cus.ID as CustomerID, concat(Cus.LastName, ', ', Cus.FirstName) as Customer
From Customer.CustomerTbl as Cus
Select Est.ID_Job as JobID, Sum(Est.ItemAmount + Est.SalesTax) As Price
From Job.EstimateTbl as Est
Group By Est.ID_Job
使用标量子查询和联接
select ActJobs.ID as JobID, ActJobs.JobName, ActJobs.CustomerID,
concat(Cus.LastName,', ',Cus.FirstName) as Customer,(select Sum(Est.ItemAmount + Est.SalesTax) from Job.EstimateTbl as Est where Est.ID_Job=ActJobs.ID) as price
From Job.ActiveJobsTbl as ActJobs
inner join Customer.CustomerTbl as Cus on Cus.ID as CustomerID=ActJobs.CustomerID
您只需将前两个表连接起来,然后将聚合查询转换为也可以连接起来的子查询:
SELECT
ActJobs.ID as JobID,
ActJobs.JobName,
ActJobs.CustomerID,
CONCAT(Cus.LastName, ', ', Cus.FirstName) as Customer,
Est.Price
FROM
Job.ActiveJobsTbl AS ActJobs
INNER JOIN Customer.CustomerTbl AS Cus ON Cus.ID = ActJobs.CustomerID
INNER JOIN (
SELECT ID_Job, SUM(ItemAmount + SalesTax) As Price
FROM Job.EstimateTbl
GROUP BY ID_Job
) AS Est ON Est.ID_Job = ActJobs.ID
伟大的您是否尝试过使用JOIN
?