我有以下声明:
SELECT
Dag AS Dag,
CASE
Jaar
WHEN 2013
THEN Levering
END AS '2013',
CASE
Jaar
WHEN 2014
THEN Levering
END AS '2014'
FROM
tbl_Levering
INNER JOIN tbl_EParameter
ON (Maand = tbl_EParameter.ZMaand)
ORDER BY Dag
输出为该月的每一天提供两条记录。在第一个记录中2013
的值,在第二行中的值为2014
。我想要一条记录。
声明中我错了。
答案 0 :(得分:0)
我不明白你在问什么。 但请注意,CASE不能用于更改列名。
可以证明你期望得到吗?
你想要的是这个吗?
SELECT
Jaar AS 'Year',
AS Dag Dag
FROM
tbl_Levering
INNER JOIN tbl_EParameter
ON (Maand = tbl_EParameter.ZMaand)
GROUP BY 1;
答案 1 :(得分:0)
这应该通过分组使用max
,以便每个dag有一行,并且如果你不使用max那么2013年和2014年的结果是两个单独的列,结果是在最终结果中将选择不确定的和来自同一组的任何行
SELECT
Dag AS Dag,
MAX(CASE
Jaar
WHEN 2013
THEN Levering
END) AS '2013',
MAX(CASE
Jaar
WHEN 2014
THEN Levering
END) AS '2014'
FROM
tbl_Levering
INNER JOIN tbl_EParameter
ON (Maand = tbl_EParameter.ZMaand)
GROUP BY Dag
ORDER BY Dag
答案 2 :(得分:0)
我想添加一张图片,但此刻我不允许这样做。
该表格包含以下字段 Jaar,Maand,Dag,Levering 因此,对于本月的每一天,我都有一张记录,以kHw为我的solarpanels交付
在我想要的第6个月的查询中,存储在tbl_EParameter.Zma中的值和2013年和2014年的记录,就像这样
Dag 2013 2014 1 5 4,5 2 6,8 3,2 等等