1

データベースからデータを取得するために結合を行っており、それを変数に割り当てています

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.
4

2 に答える 2

3

getString("task_scrum_id") を使用するgetString(int)か、使用します。Task.ScrumID as 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")
于 2013-08-23T19:17:32.597 に答える
1

列に別名を付けることができます。以下の例を見てください。

SELECT 
    TeacherName = T.Name
,   StudentName = S.Name
FROM Teachers T
JOIN Students S ON T.SomeValue = S.SomeValues 
于 2013-08-23T19:20:02.713 に答える