1

我的数据库中有两个以上的表,它们都包含相同的字段名称,例如

table A           table B       table C
field1            field1        field1
field2            field2        field2
field3            field3        field3
.                 .             .
.                 .             .
.                 .             .
.                 .             .

我必须编写一个SELECT查询,从这 3 个表中获取几乎所有相同的字段。我正在使用这样的东西:

select a.field1,a.field2,a.field3,b.field1,b.field2,b.field3,c.field1,c.field2,c.field3 from table A as a, table B as b,table C as c where so and so.

但是当我 printfield1的值时,它给了我最后一个表值。

如何获取具有相同字段名称的三个表的所有值?我是否必须为每个表编写单独的查询,或者有什么方法可以在单个查询中获取它们?

4

3 回答 3

1

就这样写,

select a.field1 as af1,a.field2 as af2,a.field3 as af3,b.field1 as bf1,b.field2 as bf2,b.field3 as bf3,c.field1 as cf1,c.field2 as cf2,c.field3 as cf3 from table A as a, table B as b,table C as c where so and so.
于 2010-05-10T07:11:19.043 回答
0

这是您的编程工具如何处理重复字段名称的工件。如果您愿意,可以使用AS别名字段名称:

SELECT a.field1 AS a_field1, ...

然后它应该可以作为a_field1.

于 2010-05-10T07:04:01.877 回答
0

您可以为列设置别名。例如注意:语法可能因您的数据库而异。

SELECT
    a.field1 `A_Field1`,
    b.field1 `B_Field1`

SELECT
    a.field1 [A_Field1],
    b.field1 [B_Field1]

SELECT
    a.field1 AS A_Field1,
    b.field1 AS B_Field1
于 2010-05-10T07:05:46.773 回答