Sql 多个子查询

Sql 多个子查询,sql,oracle,Sql,Oracle,我有一个Excel文件,其中包含10月份的列 滑动-表示用户ID 初次见面日期 上次见面日期 总数 客户名称 过去90天的会议总数 30天内有效 我有四张桌子 SLUSR_USR,带两列SLUSR_USR_ID、SLUSR_USR_Cust_name 与2 cols Sku St_COMPANYID的销售,销售日期 SKU COMPANY有3列companyID、SKU companyID、STS SKU SLUSRID SLUSR\u点击3列,分别为SKU SLUSRID、STS\u c

我有一个Excel文件,其中包含10月份的列

  • 滑动-表示用户ID
  • 初次见面日期
  • 上次见面日期
  • 总数
  • 客户名称
  • 过去90天的会议总数
  • 30天内有效
我有四张桌子

  • SLUSR_USR,带两列SLUSR_USR_ID、SLUSR_USR_Cust_name
  • 与2 cols Sku St_COMPANYID的销售,销售日期
  • SKU COMPANY有3列companyID、SKU companyID、STS SKU SLUSRID
  • SLUSR\u点击3列,分别为SKU SLUSRID、STS\u companyID、report\u DATE
通过使用这个查询,我得到了每个ID的会议总数

SELECT
    SLUSR_USR_ID, SLUSR_USR_CUST_NAME, SALES_COUNT 
FROM
    (SELECT
         SLUSR_USR_ID, SLUSR_USR_CUST_NAME, 
         COUNT(SALES_DATE) SALES_COUNT
     FROM
         SLUSR_USR, SALES, SK_COMPANY
     WHERE
         SLUSR_USR_ID = STS_SK_SLUSR_ID
         AND companyID = SK_STS_COMPANY_ID
         AND TRUNC(SALES_DATE) BETWEEN '01-Oct-2019' AND '31-Oct-2019'
     GROUP BY
         SLUSR_USR_ID, SLUSR_USR_CUST_NAME)
这将返回总的会面次数、滑动次数和客户名称

注意:销售日期的数量等于每个SLUSR\u用户ID完成的会议数量,报告日期将给出每个Slider的活动状态->Slider相当于SLUR\u用户ID->公司ID分配给每个Slider->一个销售日期意味着每个Slider一次会议)

但我仍在为一些计数而挣扎,例如,我想在子查询中使用下面的查询

firsT_Meet_date
LAst_meet_date
Total_meet in Last90DAYS
Active In 30Days
对于第一次和最后一次见面日期,我使用的是max和min函数

SELECT 
    MAX(SALES_DATE), MIN(SALES_DATE), 
    SLUSR_USR_ID, COUNT(SALES_DATE)
FROM
    SLUSR_USR, DSR_SALES, SK_COMPANY
WHERE
    SLUSR_USR_ID = STS_SK_SLUSR_ID
    AND companyID = SK_STS_COMPANY_ID
    AND TRUNC(SALES_DATE) BETWEEN '01-Oct-2019' AND '31-Oct-2019'
GROUP BY 
    SLUSR_USR_ID

另外,对于最近90天内的Total_meet和30天内的Active,我想使用表SLUSR_CLick by use sysDATE-90

再次标记SQL Server和Oracle-这是故意的吗?这个问题有点难以理解,但我想你想做选择性计数,这可以通过表达式来完成,例如
sum(datediff时的情况(d,sales_date,getdate())-在ANSI-92 SQL标准中(超过25年前),用正确的ANSI
JOIN
语法替换了旧样式的逗号分隔表样式,不鼓励使用它