以下查询有什么问题?
SELECT * FROM
(SELECT DATE_FORMAT(Start, '%d-%M-%Y') AS Date1,
SUM(TIMESTAMPDIFF(SECOND, Start, End)) / 3600 AS Hours
FROM timeslot WHERE UserID = 1
GROUP BY Date1) AS A
LEFT OUTER JOIN
(SELECT DATE_FORMAT(TakenAt, '%d-%M-%Y') AS Date2
FROM snapshot WHERE Deleted = 1
GROUP BY Date2) AS B
ON A.Date1 = B.Date2
它没有运行。 VS略微更改了查询(分别将GROUP BY Date1
和GROUP BY Date2
更改为GROUP BY A.Date1
和GROUP BY B.Date2
)并告诉我组声明中未知列A.Date1
答案 0 :(得分:0)
我相信这是因为MySQL reserved words 而发生的,请尝试使用后退标记`:
.postive-records .rf-cal-sel {
background-color: green;
}
.no-records .rf-cal-sel {
background-color: red;
}
<rich:calendar styleClass="#{eventMaster.eventMasterList!=null and eventMaster.eventMasterList.size()>0?'postive-records':'no-records'}" locale="EN"
id="searchDateCalendarcommon" popup="false"
showApplyButton="false" datePattern="dd/MM/yyyy"
value="#{eventMaster.eventSearchDate}" >
<rich:tooltip followMouse="false"
showDelay="100"
direction="topRight"
layout="block"
onmouseover="">
<h:outputText value="#{eventMaster.calendarTooltipText}"
style="color: red;font-size: 12px;"/>
</rich:tooltip>
<f:ajax event="change" listener="#{commonOutputContentBean.showEvents()}"
render="cmnoplayoutfrm searchDateCalendarcommon" />
</rich:calendar>
或者只是别名:
SELECT * FROM
(SELECT DATE_FORMAT(`Start`, '%d-%M-%Y') AS Date1,
SUM(TIMESTAMPDIFF(SECOND, `Start`, `End`)) / 3600 AS Hours
FROM timeslot WHERE UserID = 1
GROUP BY DATE_FORMAT(`Start`, '%d-%M-%Y')) A
LEFT OUTER JOIN
(SELECT DATE_FORMAT(TakenAt, '%d-%M-%Y') AS Date2
FROM snapshot WHERE Deleted = 1
GROUP BY DATE_FORMAT(TakenAt, '%d-%M-%Y')) B
ON A.Date1 = B.Date2