2017-07-17 62 views
0

我有一個問題,我需要幫助SQL查詢錯誤1060重複列錯誤「諾姆」

這是我的查詢

ALTER VIEW contrato AS 
SELECT formando.nome, formando.bicc, formando.nif, formando.escagr, a.designacao, gf.nome, t.nome from formando 
JOIN grupo_formando gf ON formando.id = gf.formando_id 
JOIN aluno al on formando.id = al.formando_id 
JOIN turma t on al.turma_id = t.id 
JOIN acao a on t.acao_id = a.id 

,這是我的問題:1060年重複列錯誤「諾姆」

任何人都知道我該如何解決這個問題?

+0

我沒有在這裏看到任何gf。要使用表格的短名稱,您必須先指定它。 – Grynets

+0

@Grynets我在連接中聲明瞭短名稱 – gerrereee

+1

您是否已驗證'grupo_formando'表中是否存在名爲'nome'的列? –

回答

0

gf.nome是不是你的表/視圖grupo_formando的一列,回去吧,並檢查是否有拼寫正確列名和它確實存在

+0

我只是糾正了現在的殖民地,現在我有另一個錯誤,我只是點了帖子 – gerrereee

0

您需要別名要麼formando.nomegf.nome AS其他的東西可以避免在結果集中有兩個nome列。

例如:

SELECT formando.nome AS nome_1... 
0

視圖中的下列列將具有相同的名稱:

select formando.nome, gf.nome, t.nome ... 

當你調用視圖,又怎麼會知道的sql哪一列是諾姆? 你需要給每列自己的名字(別名),例如:

select formando.nome as formando_nome, gf.nome as gf_nome, t.nome as t_nome ...