对于MySQL查询有一个奇怪的问题,我无法真正弄清楚如何按照我希望组织数据。复杂的MySQL查询,联合,相交或自然连接?
我在PHP中构建搜索脚本,但数据库结构不是我想要的样子。
好了,说我有三个表(这些是完全由):
EMPLOYES
id name city hired
-------------------------------------------------
1 Jim 0810 2001
2 Stan 6777 2002
3 George 6532 2009
SALARY
id amount year
--------------------------------
1 2000 2009
1 2500 2010
1 2800 2011
2 2100 2009
2 2200 2010
2 2500 2011
3 2200 2009
3 2300 2010
3 2800 2011
CONTACT
city areacode cityname
-----------------------------
0810 0300 Tampa
6777 0800 Miami
6532 0210 Atlanta
现在,如果我坚持LEFT JOIN的等我能够得到的结果是这个样子,哪里它重复每行中的工资表:
name cityname hired salary
----------------------------------
Jim Tampa 2001 2000
Jim Tampa 2001 2500
Jim Tampa 2001 2800
...
但我真正想要的是这样的:
name cityname hired 2009 2010 2011
------------------------------------------------
Jim Tampa 2001 2000 2500 2800
...
任何我可以用SQL实现的方法?
MySQL的东西并不支持'INTERSECT'我相信,但它看起来像你需要一个'PIVOT无论如何,'/'CROSS TAB'查询。 –