我需要在我的查询中合并到表,所以我可以选择它,就好像它是一个一样。同时从两个表中选择?
表A:
Objeto | Atributo
1 a
表B:
Palabra | Atributo
2 b
3 b
在我的查询我想从两个,所以我需要以某种方式满足所有行的一个表,在这个例子中选择应是:
Objeto | Atributo
1 a
2 b
3 b
我该怎么做?
我需要在我的查询中合并到表,所以我可以选择它,就好像它是一个一样。同时从两个表中选择?
表A:
Objeto | Atributo
1 a
表B:
Palabra | Atributo
2 b
3 b
在我的查询我想从两个,所以我需要以某种方式满足所有行的一个表,在这个例子中选择应是:
Objeto | Atributo
1 a
2 b
3 b
我该怎么做?
select Objecto, Atributo
from table A
UNION ALL
select Palabra, Atributo
from table B
您正在寻找的东西叫做UNION
这不是一个连接(组乘),这是一个联合(组除):
SELECT objecto, atributo
FROM a
UNION ALL
SELECT palabra, atributo
FROM b
这看起来像一个UNION语句
select * from table_a
UNION
select Palabra as Objecto, atributo from table_b
你需要的东西,如:
select objeto, atributo from tableA
union all
select palabra as objeto, atributo from tableB
order by 1 asc
联盟将确保所有的行,从两个表中包含(一)和order by
子句将它们正确地排序,在关闭的机会,你有完全不同或相同的objeto/palabra
列。
您可能还需要考虑作出这一某种形式的看法,如果它很可能是在很多地方有用的 - 这将大大简化您的客户端代码。
的(a)这是一个选项。另一种是自己使用union
,但这会删除重复的行,这可能不是你想要的。
由于只有一个问题,我在哪里添加where子句所以它从两个选择?我试图把它放在最后,我没有得到正确的结果 – lisovaccaro 2011-12-20 05:40:28
@ Liso22 where子句将在子句之后出现。那就是你将会添加两个where子句来过滤结果。 – Zohaib 2011-12-20 05:46:08