加入两个子查询抛出错误

时间:2016-06-01 11:17:49

标签: mysql visual-studio join

以下查询有什么问题?

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 Date1GROUP BY Date2更改为GROUP BY A.Date1GROUP BY B.Date2)并告诉我组声明中未知列A.Date1

1 个答案:

答案 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
相关问题