2014-03-29 111 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

如果我需要使用*,我该怎么办?也许“加入”将是一个解决方案? –

相关问题