(以下模式已經作壓縮減少的問題)MySQL的檢查是否有任何行在日期未來
我有兩個表Products
:
| ID | ProductName | AvailableDate (date)
|------------------------------------------------
| 1 | Foo | 2011-01-01
| 2 | Bar | 2017-01-01
| 3 | FooBar | 2011-01-01
和Mappings
:
| ID | ProductID | SomeOtherID
|------------------------------------------------
| 1 | 1 | 1
| 2 | 2 | 1
| 3 | 3 | 2
映射可以指向n
產品:
SELECT
GROUP_CONCAT(`Products`.ProductName SEPARATOR ', ')
FROM
Mappings
JOIN
Products ON Mappings.ProductID = Products.ID
GROUP BY
Mappings.SomeOtherID
我現在想要擴展查詢,以檢查是否任何Products
行有一個AvailableDate比當前日期現貨組合產品,即至少有一個更大的「早期訪問」產品。
我嘗試以下
SELECT
GROUP_CONCAT(`Products`.ProductName SEPARATOR ', '),
IF(COUNT(DATEDIFF(`Products`.AvailableDate, CURDATE)) > 0, 1, 0) As IsEarlyAccess
FROM
Mappings
JOIN
Products ON Mappings.ProductID = Products.ID
GROUP BY
Mappings.SomeOtherID
但我總是收到IsEarlyAccess = 1
。任何提示?
多謝了 - 這麼簡單,但如此有效!奇蹟般有效 – ElGauchooo