我试图使用MySQL来改变修改(透视)表:透视表 - 需要包含空值作为空
WMU YEAR CPUE
a 1987 22
a 1988 32
a 1989 2
a 1990 34
b 1988 5
b 1990 4
需要是:
WMU CPUE_1987 CPUE_1988 CPUE_1999 CPUE_1990
a 22 32 2 34
b 5 null null 4
我曾尝试使用SELECT和JOIN声明:
select t.wmu,
tb2.CPUE as CPUE_1987,
tb3.CPUE as CPUE_1988,
tb4.CPUE as CPUE_1989,
tb5.CPUE as CPUE_1990,
from muledeerharvest2011 as t
JOIN muledeerharvest2011 as tb2
JOIN muledeerharvest2011 as tb3
JOIN muledeerharvest2011 as tb4
JOIN muledeerharvest2011 as tb5
WHERE tb2.year = 1987 and t.WMU = tb2.WMU
and tb3.year = 1988 and t.WMU = tb3.WMU
and tb4.year = 1989 and t.WMU = tb4.WMU
and tb5.year = 1990 and t.WMU = tb5.WMU:
这个只适用于拥有所有的“年”值“西密歇根大学”的条目。在这个例子中,诸如b的行将不会被选中。
有什么办法可以修改此语句,以便空白年份值在输出中显示为空?
在此先感谢!
完美的作品!非常感谢你的帮助! – Rozza 2013-05-01 16:12:41