簡體   English   中英

如何區分選擇查詢中兩個表的相同字段名稱?

[英]How to differentiate between same field names of two tables in a select query?

我的數據庫中有兩個以上的表,它們都包含相同的字段名稱,例如

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.

但是當我打印field1的值時,它給了我最后一個表值。

如何獲取具有相同字段名稱的三個表的所有值? 我是否必須為每個表編寫單獨的查詢,或者有什么方法可以在單個查詢中獲取它們?

就這樣寫,

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.

這是您的編程工具如何處理重復字段名稱的人工制品。 如果您願意,可以使用AS為字段名稱設置別名:

SELECT a.field1 AS a_field1, ...

然后它應該可以作為a_field1訪問。

您可以為列設置別名。 例如注意:語法可能因您的數據庫而異。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM