2017-07-17 56 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 ...