当前位置: 首页 > 面试题库 >

加入表格中的最大日期

鞠侯林
2023-03-14
问题内容
SELECT COL1,
    COL2,
    COL3
FROM TABLE1,
    TABLE2,
    TABLE3,
    TABLE4
WHERE TABLE1.KEY1 = TABLE2.KEY1
    AND TABLE2.KEY = TABLE3.KEY
    AND TABLE2.FILTER = 'Y'
    AND TABLE3.FILTER = 'Y'
    AND TABLE2.KEY = TABLE3.KEY
    AND TABLE3.KEY = TABLE4.KEY

我有一个类似的查询,我需要进行修改,在表3中有一个date列,我需要选择日最高值行来加入。可以说表号3中有4行对联接感到满意,我需要从这4个表中选择最高日期的行以进行联接,然后显示结果。

希望问题很明确。数据库Oracle 10g


问题答案:

尝试类似此查询的操作。

SELECT
    COL1,
    COL2,
    COL3,
    T33.*

FROM TABLE1

JOIN TABLE2 ON TABLE1.KEY1 = TABLE2.KEY1

JOIN TABLE4 ON TABLE2.KEY = TABLE4.KEY

JOIN

(
    SELECT MAX(T.Day) as DT, T.KEY
    FROM TABLE3 T
    WHERE T.FILTER = 'Y'
    GROUP BY T.KEY
) T3 on TABLE4.KEY = T3.KEY

JOIN TABLE3 T33 ON T3.KEY = T33.KEY AND T3.DT = T33.Day

WHERE

TABLE2.FILTER = 'Y'

主要思想是,不要
加入TABLE3您的行列:

SELECT MAX(T.Day) as DT, T.KEY
FROM TABLE3 T
WHERE T.FILTER = 'Y'
GROUP BY T.KEY

给该表/记录集一个名称,然后加入该表/记录集。

然后,你可以再次加入到原来的TABLE3(见T33
拉所有其他需要的列从TABLE3它们
不存在T3

我认为,您可以计算出其他细节。



 类似资料:
  • 我正在尝试使用phpmyadmin编写MySQL查询,我需要在“Value1”中获取Maximun“Site”,但是,具有“Value2”的条件 在这幅图中,我显示了预期的结果。 我试过了,但没用 选择值1,值2,值3,值from mytable b1 拜托,我需要一个解决这个问题的一般方案。

  • 问题内容: 我有两个表,一个称为“事件”,一个称为“文档”。每个表都有两个日期列,开始和结束(因此,事件开始,事件结束,文档开始,文档结束)。这两个表通过名为Customer_ID的字段链接。我有兴趣根据客户ID将最接近的相关事件开始(及其ID)日期返回到Doc开始日期,因此表中的数据如下所示: 我希望最终结果显示如下: 我尝试使用谷歌搜索解决方案,并尝试了一个或两个建议,但我找不到的示例似乎都不

  • 我有一个包含日期的列表,列表如下: 我想从列表中提取每个月的最高日期。我想要的输出如下: 我试图使用找到一个月的最大日期,但它给出了列表中的总体最大日期。有没有办法从列表中找到每个月的最大日期。

  • 我试图从一个配置单元表中选择*,其中名为TRANS_DATE的日期列say在最大TRANS_DATE的365天之前>=。

  • 我需要从越来越多的温度记录中挑选每日最小值和最大值: 日期和时间温度摄氏度 .. 20/1/2017 10:05 0.3 20/1/2017 11:08 0.4 .. 结果如下: 日期最低温度最高温度 20/1/2017 -0.5 2.2 21/1/2017 -0.3 3.0 ... 我能够使用=FILTER(范围、日期标准)提取特定日期的数据,但我找不到数组中所有日期的最小值和最大值。非常感谢你

  • 问题内容: 我想知道哪个是Javascript 对象允许的最小和最大日期。我发现最小日期大约是200000 BC,但是我没有得到任何参考。 有人知道答案吗?我只是希望它不依赖于浏览器。 最好以“纪元时间”(= 1970-01-01 00:00:00 UTC + 00的毫秒数)回答。 问题答案: 根据规范§15.9.1.1: Date对象包含一个数字,该数字指示毫秒内的特定时间点。这样的数字称为时间