2010-05-10 41 views
1

我在我的數據庫中兩個以上的表,他們都包含了諸如如何在選擇查詢中的兩個表的相同字段名稱之間進行區分?

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

相同的字段名稱我必須寫一個SELECT查詢其使用的東西從這3 tables.Iam得到幾乎所有相同的字段,這樣: -

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的值,它給了我最後的表值。

我怎樣才能得到所有的三個表的相同字段名的值???我是否必須爲每個表編寫單獨的查詢,或者是否有任何方法在單個查詢中提取它們?

回答

0

這是您的編程工具處理重複字段名稱的工件。如果你喜歡,你可以用AS別名字段名稱:

SELECT a.field1 AS a_field1, ... 

應該再像a_field1訪問。

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 
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. 
+0

然而,在一個單一的線不寫整個查詢,除非它是非常短(例如「選擇山坳FROM表其中arg =?」) – ThiefMaster 2010-05-10 07:13:24

+0

我的查詢是非常長的,因爲我將從每個表中選擇近100個字段......所以我怎麼寫? – developer 2010-05-10 07:35:32

+0

如果你想選擇特定的字段連接特定的字段名稱與數據庫別名或否則使用*,並使用該數據庫別名獲取特定的字段。 – Karthik 2010-05-10 07:41:01

相關問題