SQL查询得到答案

问题描述 投票:0回答:1

我已经获得了一个数据库分配,它涉及第一次使用查询来查找特定结果

我要问各州

“编写SQL语句以列出一个或多个客户端已查看的所有属性。更准确地说,列出邮政编码,propertyNo,属性的街道,负责此属性的员工的姓氏,客户的姓氏,以及查看日期。首先按邮政编码排序输出,然后按街道排序(需要截图)。“

我的代码:

SELECT   Viewing.propertyNo, PropertyForRent.street, PropertyForRent.postcode, Staff.lName
FROM Viewing 
  INNER JOIN PropertyForRent ON Viewing.propertyNo = PropertyForRent.propertyNo 
  INNER JOIN PrivateOwner ON PropertyForRent.ownerNo = PrivateOwner.ownerNo 
  INNER JOIN Staff ON PropertyForRent.staffNo = Staff.staffNo 
  INNER JOIN Client ON Viewing.clientNo = Client.clientNo
group by  Viewing.propertyNo, PropertyForRent.street, PropertyForRent.postcode, Staff.lName
having COUNT(viewing.propertyNo)>1

结果大部分是正确的,除了我没有添加client.lastname,因为它使结果转到空表。我正在使用正确的查询来获得我正在寻找的答案吗?

sql
1个回答
0
投票
SELECT pfr.PostCode
    ,vw.PropertyNo
    ,pfr.Street
    ,sf.LName
    ,ct.LName
    ,vw.ViewDate
FROM Viewing vw
    JOIN PropertyForRent pfr
        ON vw.PropertyNo = pfr.PropertyNo
    JOIN PrivateOwner po
        ON vw.OwnerNo = po.OwnerNo
    JOIN Staff sf
        ON pfr.StaffNo = sf.StaffNo
    JOIN Client ct
        ON vw.ClientNo = ct.ClientNo
ORDER BY pfr.PostCode
    ,pfr.Street

不得不重新阅读这个问题 - 很容易被误解为“不止一个客户”。一个或多个客户端意味着您将包括所有查看。特别是因为他们希望您包含客户的信息和查看日期。

删除您的“HAVING”语句并添加客户端的姓氏。我会保持小组或选择不同,所以它只会返回唯一的记录。你应该好!

© www.soinside.com 2019 - 2024. All rights reserved.