java - 错误: (dberror) 268 - column ambiguously defined: ROLLNO: line 1 col 7 (at pos 7)

标签 java sql hana

我尝试使用多个表(基本上是 2 个表)在 SAP HANA 中创建 View ,其中 rollNo 是两个表中的主键列,但出现以下错误:

Error: (dberror) 268 - column ambiguously defined: ROLLNO: line 1 col 7 (at pos 7)

我尝试使用 SQL 中的 JOINS 概念创建此 View 。 以下是DAO类中的方法:

public Response CreatingMultiTableViews()
{
    try
    {
        session=sessionFactory.openSession();
        tx=session.beginTransaction();
        SQLQuery query=session.createSQLQuery(" create VIEW ABCD As Select rollNo,name,english From ClassOne  JOIN ClassTwo ON ClassOne.rollNo= ClassTwo.rollNo");
        query.executeUpdate();
        response.setStatus("200");
        response.setMessage("successfull");
        tx.commit();
        return response;
    }
    catch(Exception e)
    {
        System.out.println(e.getMessage());
        response.setStatus("500");
        response.setMessage("unsuccessfull");
        tx.rollback();
        return response;
    }
    finally
    {
        session.close();
    }
}

这是 Controller 类中的方法调用。 它将调用负责执行连接并创建相应 View 的方法。

@RequestMapping(value="/multiView",method=RequestMethod.GET,produces="application/json",consumes="application/json")
public Response CreatingMultiTableViews()
{
    return service.CreatingMultiTableViews();
}

该方法预计会在 rollNo 列上连接两个表,但它显示上述错误,列 rollNo 是我的两个表的主键m 应用连接操作。

最佳答案

在 SQL 中使用表别名,并使用它们来表示您想要在 SELECT 中使用哪一列 rollNo

create VIEW ABCD As 
Select c1.rollNo, name, english 
From ClassOne c1  
JOIN ClassTwo c2 ON c1.rollNo = c2.rollNo

关于java - 错误: (dberror) 268 - column ambiguously defined: ROLLNO: line 1 col 7 (at pos 7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55831206/

相关文章:

java - 如何使用版本一 api 进行身份验证

java - HQL :Invalid Path in Multiple different Joins

java - 用 Java 设计计算器

sql - 无法执行查询

MySQL连接两个列表检查一条记录是否存在

hana - 如何在 HCP PI 中的集成流程之外存储可编辑变量?

java - 分片还是不分片? GAE/java/jdo

c# - 大型站点上的 SQL 执行缓慢(调用存储过程)

sql - 正则表达式用单个模式替换多个模式不起作用

sql - 插入 HANA 表并指定列