0
我希望下面的查詢根據日期範圍命名大小寫欄 - 但是,所有都默認爲錯誤 - 我錯過了什麼?自從我在mySQL工作以來已經有相當長的一段時間了。我試圖根據逾期,今天,明天,30天,60天,90天的時間間隔進行分組。在Select語句中使用CASE
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY)AS rDate,
CURDATE()AS rDate,DATE_ADD(CURDATE(), INTERVAL 1 DAY)AS rDate,
DATE_ADD(CURDATE(), INTERVAL 7 DAY)AS rDate,
DATE_ADD(CURDATE(), INTERVAL 14 DAY)AS rDate,
DATE_ADD(CURDATE(), INTERVAL 30 DAY)AS rDate,
DATE_ADD(CURDATE(), INTERVAL 60 DAY)AS rDate,
DATE_ADD(CURDATE(), INTERVAL 90 DAY)AS rDate,
CASE a.nextDueDate
WHEN a.nextDueDate < CURDATE() THEN 'Overdue'
WHEN a.nextDueDate > CURDATE() AND a.nextDueDate < (DATE_ADD(CURDATE(), INTERVAL 7
DAY))THEN '7 Days'
WHEN a.nextDueDate > CURDATE() AND a.nextDueDate < (DATE_ADD(CURDATE(), INTERVAL
14 DAY))THEN '15 Days'
WHEN a.nextDueDate > CURDATE() AND a.nextDueDate < (DATE_ADD(CURDATE(), INTERVAL 30 DAY))THEN '30 Days'
WHEN a.nextDueDate > CURDATE() AND a.nextDueDate < (DATE_ADD(CURDATE(), INTERVAL 60 DAY))THEN '60 Days'
WHEN a.nextDueDate > CURDATE() AND a.nextDueDate < (DATE_ADD(CURDATE(), INTERVAL 90 DAY))THEN '90 Days'
ELSE 'Error'
END,
g.groupId,g.name AS groupName,l.logId,l.name AS logName, i.itemID,
i.name AS itemName, le.userName,completed, i.optimalMin,i.optimalMax ,le.value,
u.name AS unitDescription,
g1.parentId AS parentId1, g1.name AS group1Name,g2.parentId AS parentId2, g2.name
AS group2Name,
g3.parentId AS parentId3, g3.name AS group3Name,
a.name AS activityName,scheduleType,scheduleInterval,a.details,nextDueDate
FROM logExceptions le
INNER JOIN logs l ON l.logID = le.logID
INNER JOIN groups g ON g.groupId = l.groupId
INNER JOIN items i ON le.itemId = i.itemId
INNER JOIN activities a ON l.logId = a.logId
LEFT JOIN units u ON i.unitId = u.unitId
LEFT JOIN groups g1 ON g.parentId = g1.groupId
LEFT JOIN groups g2 ON g1.parentId = g2.groupId
LEFT JOIN groups g3 ON g2.parentId = g3.groupId
WHERE nextDueDate IS NOT NULL
完美解釋 - 非常感謝! – Portlight