Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 左联接子查询访问_Sql_Ms Access_Join - Fatal编程技术网

Sql 左联接子查询访问

Sql 左联接子查询访问,sql,ms-access,join,Sql,Ms Access,Join,下面的代码工作正常(即没有错误),但是它连接了子查询“e”中的所有内容。我只希望返回[全部取消],而不希望返回[业务部门] 谢谢你的帮助 SELECT * FROM (SELECT c.*,b.[Total Bookings] FROM (SELECT DISTINCT a.[business unit], count(a.[lookup_id]) as [Total Colleagues in DMS] FROM EVERYTHING AS a GROUP BY a.[business uni

下面的代码工作正常(即没有错误),但是它连接了子查询“e”中的所有内容。我只希望返回[全部取消],而不希望返回[业务部门]

谢谢你的帮助

SELECT *
FROM (SELECT c.*,b.[Total Bookings]
FROM (SELECT DISTINCT a.[business unit], count(a.[lookup_id]) as [Total Colleagues in DMS]
FROM EVERYTHING AS a
GROUP BY a.[business unit]

)  AS c 


LEFT JOIN (SELECT a.[business unit], count(a.[lookup_id]) as [Total Bookings]
FROM EVERYTHING AS a
WHERE a.[session_code]is not null
GROUP BY a.[business unit]

)  AS b ON c.[business unit]=b.[business unit]

)  AS d LEFT JOIN (SELECT a.[business unit], count(a.[lookup_id]) as [Total Cancellations]
FROM EVERYTHING AS a
WHERE a.[Has Booking been cancelled (Yes / No)]=1
group by a.[business unit]

)  AS e ON d.[business unit]=e.[business unit];

    enter code here
试着这样,

   SELECT d.[business unit]
    ,d.[Total Colleagues in DMS]
    ,d.[Total Bookings]
    ,e.[Total Cancellations]
--,f.columnname
FROM (
    SELECT c.*
        ,b.[Total Bookings]
    FROM (
        SELECT DISTINCT [business unit]
            ,count([lookup_id]) AS [Total Colleagues in DMS]
        FROM EVERYTHING
        GROUP BY [business unit]
        ) c
    LEFT JOIN (
        SELECT [business unit]
            ,count([lookup_id]) AS [Total Bookings]
        FROM EVERYTHING
        WHERE [session_code] IS NOT NULL
        GROUP BY [business unit]
        ) b ON c.[business unit] = b.[business unit]
    ) d
LEFT JOIN (
    SELECT [business unit]
        ,count([lookup_id]) AS [Total Cancellations]
    FROM EVERYTHING
    WHERE [Has Booking been cancelled (Yes / No)] = 1
    GROUP BY [business unit]
    ) e ON d.[business unit] = e.[business unit];
    --LEFT JOIN (....) f ON ...

您正在使用
SELECT*
,我希望它将返回join查询中的所有列。通过明确提及要保留的列来限制此操作。如何在响应中发布代码?谢谢请不要将您的查询作为评论发布!什么是访问?你是说微软访问?标签明确建议不要对MS Office程序使用access,而是使用MS access。同时调整标题。太棒了。效果很好。谢谢你,当答案对你有效时,你可以选择向上投票或选择答案。如果我需要再添加一个左加入,我会怎么做?再次感谢你的帮助。。我已经更改了查询并添加了额外的左连接,但它出现了错误。非常感谢。我不知道我哪里出了问题。