![](/img/trans.png)
[英]Using 'DATE_SUB(now(), INTERVAL 2 MONTH)' properly with Codeigniter
[英]SQL Query with MAX()Date < DATE_SUB(NOW(), INTERVAL 6 month)
我有兩個表Name
和Termine
,其中Name.ID
作為表 2 上的索引,名為Termine.ID
。
我需要一個查詢來顯示表 2 的Name
和Date
,其中Name.ID = Termine.ID
。
最后,當最后插入的Date
超過 6 個月時,我只需要查看Name
和Date
。
我試過這個:
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.