2010-07-06 21 views
0

當我們進行連接時,如何排除連接鍵的重複列?SQL選擇不顯示連接列加入

+0

那你正好重複列是什麼意思?一般來說,如果您必須在列上進行類似的操作,那麼在模型中通常會出現錯誤。 – 2010-07-06 07:17:48

+0

例如 select * from tableA full join tableB on tableA.column = tableB.column 它會顯示列名兩次 – marilyn 2010-07-06 07:20:02

回答

2

我假設你的意思是你不想在結果中顯示他們。如果是這樣的話,不是使用select *,而是在select中按名稱顯式列出每一列,那麼你可以選擇你想要的列。

無論如何,這是一個很好的做法,因爲當添加額外的列或不關心更改的列時,您的查詢返回相同的結果,因此您無需更改任何代碼來讀取結果。

此外,如果您在連接條件中有一列,則不需要在結果中顯示該列。

+0

我有很多列要顯示。有沒有一種語法,我可以排除重複的連接列? – marilyn 2010-07-06 07:15:13

+0

並不如我所知(而且正如我所說不是一個好主意) – Mark 2010-07-06 07:23:18

0

不要做SELECT *,而是明確命名列,例如:

SELECT a.ID, a.AccountNumber, b.Name, b.DOB 
FROM Account a 
JOIN Person b on a.ID = b.ID 
2

如果您的RDBMS支持此語法使用顯式列列表或NATURAL JOINUSING (col)。 Oracle不SQL Server不。 (這個問題被標記用SQL表示沒有特別的味道)

0

的coloumns e.g使用別名:

SELECT u.id as uid, u.name as username, s.id as sid 
FROM user u 
JOIN SOMETHIG s on u.id = s.user_id