這基本上是一個數據庫連接問題,但它需要使用列名映射組件,這讓我難倒了。sql連接函數
我有多個調查表;爲了簡單起見,假設我有兩個,一個是2010年(稱爲'd2010'),另一個是2011年(稱爲'd2011')。這些行對應於調查和列(我們可以假設爲'c1','c2','c3',...'cN')對應於對問題的回答。所以,「D2010」看起來像
id c1 c2 c3 .. cX
survey 1
survey 2
survey 3
...
survey N
而「d2011」看起來像
id c1 c2 c3 .. cY
survey 1
survey 2
survey 3
...
survey N
主要目標是展示如何響應已經改變了2010至11年,對於一個特定的問題。具體來說,我的目標是創建一個顯示,創建新表(三列)SQL命令,對於特定的響應,調查,兩年之間的區別:
id 2010-response 2011-response
survey 1
survey 2
survey 3
...
survey N
如果列名已保持一致,那麼我需要什麼會被作爲東西
select d2011.id, d2010.c1 as 'last year', d2011.c1 'this year' from d2010 join d2011 on d2010.id=d2011.id;
簡單不幸的是,誰創建的表沒有保存的列名一致的人;例如,
c1 of 2010 corresponds to c2 of 2011
c2 of 2010 corresponds to c1 of 2011
c3 of 2010 corresponds to c3 of 2011
c4 of 2010 corresponds to c7 of 2011
...
所以我一直在努力做的就是輸入類似
select d2010.id, d2010.c1 as 'last year', d2011.f(c1) 'this year' from d2010 join d2011 on d2010.id=d2011.id;
其中「d2011.f(C1)」表示使用功能的,列映射那些2011年的映射是不夠簡單,用數學公式來表示2010年的名字,所以我想我需要的是去像
2010 2011
c1 c2
c2 c1
c3 c3
c4 c7
是否有SQL來表達加盟化經營的方式表我需要嗎?也就是說,通過映射表,有沒有辦法將以下內容轉換爲標準SQL(通常)和SQLite(特別是)?
select d2011.id, f(d2010.c1) as 'last year', d2011.c1 'this year' from d2010 join d2011 on d2010.id=d2011.id;.id;
非常感謝!