gpt4 book ai didi

java - 使用 JDBC 在 MySQL 中使用 UNION

转载 作者:行者123 更新时间:2023-11-29 06:36:45 25 4
gpt4 key购买 nike

我在使用 UNION 问题时遇到问题:我有 2 个表 TOPIKSUBTOPIK,我执行左连接和右连接,然后使用以下语句将它们合并:

mySqlStmt = "SELECT *FROM TOPIKLEFT OUTER JOIN SUBTOPIKON TOPIK.IDTOPIK=SUBTOPIK.IDTOPIKWHERE (TOPIK.TARGETNPMHS LIKE '%0000312100006%'OR ((TOPIK.TARGETOBJECTNICKNAME LIKE '%OPERATOR KEPALA BAA%'OR TOPIK.TARGETOBJECTNICKNAME LIKE '%OPERATOR BAA%' )AND TOPIK.TARGETNPMHS IS NULL))UNIONSELECT *FROM TOPIKRIGHT OUTER JOIN SUBTOPIKON TOPIK.IDTOPIK=SUBTOPIK.IDTOPIKWHERE (SUBTOPIK.NPMHSRECEIVER LIKE '%0000312100006%'OR ((SUBTOPIK.OBJNICKNAMERECEIVER LIKE '%OPERATOR KEPALA BAA%'OR SUBTOPIK.OBJNICKNAMERECEIVER LIKE '%OPERATOR BAA%' )AND SUBTOPIK.NPMHSRECEIVER IS NULL))"

The code above works on mysql workbench, but when i use it in java,

get connection...bla..bla;
stmt = con.prepareStatement("mySqlStmt");
rs = stmt.executeQuery();
while(rs.next()) {
String topik_idTopik = ""+rs.getLong("TOPIK.IDTOPIK");
}

我得到了

java.sql.SQLException: Column 'TOPIK.IDTOPIK' not found.

但是TOPIKSUBTOPIK都有这个专栏。

最佳答案

该列的别名是IDTOPIK,您不应该使用完全限定的名称:

stmt =  con.prepareStatement(mySqlStmt);
rs = stmt.executeQuery();
while(rs.next()) {
String topik_idTopik = ""+rs.getLong("IDTOPIK");
}

关于java - 使用 JDBC 在 MySQL 中使用 UNION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24135363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com