2016-06-01 8 views
1

次のクエリで何が問題になっていますか?2つのサブクエリにエラーが発生しました

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について通知します。

答えて

0

私は `ティックバック使ってみて、これが原因でMySQL reserved wordsで起こっていると信じて:

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 

それとも、すべてのものエイリアス:

それでもこれらのクエリの両方で同じエラーを取得
SELECT * FROM 
    (SELECT DATE_FORMAT(t.Start, '%d-%M-%Y') AS Date1, 
    SUM(TIMESTAMPDIFF(SECOND, t.Start, t.End))/3600 AS Hours 
    FROM timeslot t WHERE t.UserID = 1 
    GROUP BY DATE_FORMAT(t.Start, '%d-%M-%Y')) A 
LEFT OUTER JOIN 
    (SELECT DATE_FORMAT(s.TakenAt, '%d-%M-%Y') AS Date2 
    FROM snapshot s WHERE s.Deleted = 1 
    GROUP BY DATE_FORMAT(s.TakenAt, '%d-%M-%Y')) B 
ON A.Date1 = B.Date2 
+0

を。 – dotNET

+0

そして、エラーは何ですか? @dotNET .. – sagi

+0

「不明な列t.Date1はグループ文」のように質問に記載されています。 – dotNET

関連する問題