通过连接四个表在一个时间跨度内计算变量

时间:2018-06-14 06:45:02

标签: sql sql-server

有四个表格:

Propertyno (
    propertyno, 
    street, 
    city, 
    postcode, 
    type, 
    rooms, 
    rent, 
    ownerno, 
    staffno, 
    branchno)

Viewing (
    clientno, 
    propertyno, 
    viewdate, 
    comment)

Client (
    clientno, 
    fname, 
    lname, 
    telno, 
    preftype, 
    maxrent)

Registration (
    clientno, 
    branchno, 
    staffno, 
    datejoined)

在要求的客户注册的1个月,2个月和3个月内查找每个分支的属性视图数。由于目前无法访问确切的数据库,因此在类似情况下,问题的答案将受到某种解释和感知(这个问题可以视为一种抽象问题)。我根据我的理解提供了示例代码。因为我是初学者,所以下面的代码肯定是错误的。此外,我对一个月,两个月等的观点计数没有确切的想法。如果您能用您的代码和评论纠正我,我将不胜感激。

SELECT 
   PR.propertyno, PR.branchno, V.clientno, V.propertyno, V.viwedate, 
   R.clientno, R.datejoined 
FROM 
   PropertyforRent PR LEFT JOIN Viewing V ON PR.propertyno = V.propertyno
   INNER JOIN Client AS C ON V.clientno = C.clientno
   INNER JOIN Registration AS R ON C.clientno = R.clientno
SELECT COUNT(viewdate) WHERE start_date <=@date AND end_date >=@date
   GROUP BY propertyno
   GROUP BY branch;

0 个答案:

没有答案