编写SQL查询,列出租住不止一套公寓的承租人

解答:要解决此题,咱们能够使用HAVING和GROUP BY字句,而后将Tenants以INNER JOIN链接起来。函数

SELECT TenantNameui

FROM Tenantssed

INNER JOINim

                 (SELECT TenantID查询

                   FROM AptTenantsimg

                   GROUP BY TenantsIDdi

                   HAVING count(*)>1 ) Cant

 ON  Tenants.TenantID=C.TenantIDco

注:每当编写GROUP BY字句时,务必确保SELECT字句里的任何东西,要么是汇集函数,要么就是包含在GROUP BY子句里。

二、编写SQL查询,列出全部建筑物,并取状态为"Open"的申请数量。(Requests 表中Status为Open的条目)

此题直接将Requests和Apartments链接起来,就能列出建筑物ID,并取得Open申请的数量。

SELECT BuildingName, ISNULL(Count, 0) as'Count'
FROM Buildings
LEFT JOIN
   (SELECT Apartments.BuildingID,count(*) as 'Count'
    FROM Requests INNER JOIN Apartments
ON Requests.AptID=Apartments.AptID
WHERE Requests.Status = 'Open'
GROUP BY Apartments.BuildingID) ReqCounts
ON ReqCounts.BuildingID=Buildings.BuildingID

11号建筑物正在进行大翻修。编写SQL查询,关闭这栋建筑物里全部公寓的入住申请。

       跟SELECT查询同样,UPDATE查询也能够有WHERE子句。要实现这个查询,咱们会获取11号建筑物里全部公寓的ID,而后从这些公寓取得入住申请列表。

UPDATE Requests

SET Status='Closed'

WHERE AptID IN

            (SELECT AptID 

             FROM Apartments

             WHERE BuildingID=11)

相关文章
相关标签/搜索