sql - 通过连接四个表计算一个时间跨度内的变量
问题描述
有四个表:
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;
解决方案
推荐阅读
- php - 在php中打破部分字符串
- oracle - 完成执行的作业从 dba_jobs 中删除需要多长时间?
- powershell - 如何将存储在 JSON 文件中的数据加载到 power shell 中的数组或哈希表中?
- css - 如何存储从网站加载的 CSS 文件并将它们应用于另一个网站?
- java - Maven 和 Ant 之间的 JaCoCo 插件
- java - Sonarcube 不涵盖主要的代码
- angular - 如何通过 Angular CLI 为生成的块设置 mime 类型?
- angular - ng2-charts / chart.js - 如何以编程方式在特定标签上设置甜甜圈/饼图颜色?
- prolog - 将一组角色分配给一组人员
- ruby-on-rails - Ruby on Rails - 如何保持服务器在远程服务器上运行