具有相同列名的命名查询内连接表的重复数据/值

时间:2018-05-27 04:25:15

标签: java mysql sql named-query

我试图加入三个表:学生,借阅书籍,使用下面命名查询的书籍

SDL_UpdateTexture(texture, NULL, buffer_start, fmt.fmt.pix.width * 2);

SDL_Rect someRect;
someRect.x = 0;
someRect.y = 0;
someRect.w = 1500;
someRect.h = 3000;

SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, texture, NULL, &someRect);
SDL_RenderPresent(renderer);

但是,当我在调试模式的searchResults中检查b.name的值时,它获取s.name的值。意思是,b.name与s.name的名称相同,即使它具有自己的名称。我不知道这里的问题是什么,我甚至给了他们别名来区分它们。

1 个答案:

答案 0 :(得分:0)

您应该将两个name列别名为不同的内容:

StringBuilder sb = new StringBuilder( );
sb.append( "select s.studentId, s.name as student_name, s.lastName, " );
sb.append( " b.name as book_name " );
sb.append( "from student s " );
sb.append( "inner join borrowedbook c on s.studentId = c.studentId " );
sb.append( "inner join books b on c.bookId = b.bookId " );

然后使用列名student_namebook_name访问您的结果集。