我正在进行连接以从数据库中检索数据并将其分配给变量
rs = select.executeQuery("SELECT PK_Task, PointPerson, Task.ScrumId, Story.ScrumId, Product.ScrumId FROM [Task] " +
"INNER JOIN [Story] ON StoryId=PK_Story INNER JOIN [Product] ON ProductId=PK_Product WHERE Product.Deleted!=1");
要检索此数据:
while(rs.next()) {
String taskId = rs.getString("PK_Task");
}
但是如何从不同表中具有相同名称的列中获取数据:
while(rs.next()) {
Long taskScrumId = rs.getLong("Task.ScrumId");
}
结果:
com.microsoft.sqlserver.jdbc.SQLServerException: The column name Task.ScrumId is not valid.
答案 0 :(得分:3)
使用getString(int)
或使用Task.ScrumID as task_scrum_id
和getString(“task_scrum_id”)。我个人更喜欢后一种方法。
因此,在这种情况下,任务将是
String taskId = rs.getString(3)
或您的查询将是
select.executeQuery("SELECT PK_Task, PointPerson, Task.ScrumId as task_scrum_id, ...
String taskId = rs.getString("task_scrum_id")
答案 1 :(得分:1)
您可以为列提供别名。 请看下面的例子。
SELECT
TeacherName = T.Name
, StudentName = S.Name
FROM Teachers T
JOIN Students S ON T.SomeValue = S.SomeValues