2014-03-29 62 views
0

我有兩個表:SQL命令 - 兩個不同的表有一個相同的密鑰

Table A: ID Items Data Pos 
Table B: ID Apples Oranges Pos 

我需要從表A和B的位置下令所有的結果是什麼。 我該怎麼做? SELECT * FROM表a和b orderby pos?

因此,例如,結果應該是這樣的:

  1. 結果從表A的ID爲1級的項目10數據5和POS 1
  2. 從表B的ID爲1蘋果3個桔子3和POS結果從表A從表B 2
  3. 結果的ID爲2個項目4數據4和位置3
  4. 結果的ID爲2蘋果7個橙子8和POS 4

謝謝。

+1

你使用了哪個數據庫?請用實際的數據庫標記問題。 –

回答

2

你會使用union allorder by

select ID, Items, Data, Pos 
from tableA a 
union all 
select ID, Apples, Oranges, Pos 
from tableB b 
order by Pos 

這是標準的SQL所以它會在所有你所提到的數據庫。

+0

謝謝,如果我在tableA中有一個額外的列怎麼辦?然後我的工會向我展示了一個錯誤。 –

+0

@PlicPl。 。 。在這個查詢中,列是明確選擇的,所以在一個表或另一個列中有額外的列不會造成問題。所以,不要使用'*'。 –

+0

如果我需要使用*,我該怎麼辦?也許「加入」將是一個解決方案? –

相關問題