Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:使用多个表和分组依据查询联接_Sql_Sql Server_Join_Select - Fatal编程技术网

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

我想加入以下三个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 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