對於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'查詢。 –