簡體   English   中英

SQL 查詢 MAX()Date < DATE_SUB(NOW(), INTERVAL 6 個月)

[英]SQL Query with MAX()Date < DATE_SUB(NOW(), INTERVAL 6 month)

我有兩個表NameTermine ,其中Name.ID作為表 2 上的索引,名為Termine.ID

我需要一個查詢來顯示表 2 的NameDate ,其中Name.ID = Termine.ID

最后,當最后插入的Date超過 6 個月時,我只需要查看NameDate

我試過這個:

SELECT Name.*, Termine.* FROM Name
LEFT JOIN Termine ON Name.ID = Termine.ID
WHERE (SELECT MAX(Termine.Datum) < DATE_SUB(NOW(), INTERVAL 6 month)FROM Termine)

這是我的桌子。 名為 NAME 的表

ID Name Vorname  
1  Test  Test  
2  Doe   John  
3  Mustermann Tony  

還有一張叫做 Termine 的桌子

ID Datum    
2  12.03.2019  
1  26.09.2019  
3 24.08.2019  
1 12.02.2019  
3 01.01.2019  
2 01.02.2019  

我想在最后顯示的是:

ID Name  Vorname Datum  
2  Doe  John 12.03.2019  

因為日期 12.03.2019 是 ID 2 的最后一個日期,並且比現在早 6 個月。
有任何想法嗎?

您應該以這種方式使用 where 子句

SELECT Name.*, Termine.* 
FROM Name
INNER JOIN Termine ON Name.ID = Termine.ID
AND Termine.Datum =  (
    SELECT max(Termine.Datum)
    FROM termine 
    where  Termine.Datum < DATE_SUB(NOW(), INTERVAL 6 month) )

這工作得很好!!!!

SELECT Name.*, Termine.* 
FROM Name 
INNER JOIN Termine ON Name.ID = Termine.ID 
WHERE DATE_SUB(Now(), INTERVAL 6 month) >=  ( 
        SELECT MAX(Termine.Datum) 
        FROM Termine 
        WHERE Name.ID = Termine.ID 
    )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM