mybatis+mysql 關於兩個張表有相同屬性名查詢報錯的原因Column 'id' in order clause is ambiguous
阿新 • • 發佈:2018-12-15
mybatis+mysql 關於兩個張表有相同屬性名查詢會報錯的
注意,在MYSQL Wordbench中查詢時是可以通過的。
在mybatis中查詢兩張表中有相同屬性名會報錯
t_class表 t_teacher表
兩張表的id屬性名相同,當我執行下面的查詢語句的時候,會報錯 => Column 'id' in order clause is ambiguous,
<select id="findGradeClassByDescribe" parameterType="Integer" resultMap="gradeClassResult"> select * from t_class t1,t_teacher t2 WHERE t1.describe=#{describe} and t2.id=t1.teacher </select>
正確情況下,
1)把表的屬性其中一個改了
t_class表 t_teacher表
2)在select語句中寫別名
利用as為查詢的列起別名
例如
<select id="findGradeClassByDescribe" parameterType="Integer" resultMap="gradeClassResult">
select t_class.id class_no, teacher, count, describe,t_teacher.id,password from t_class t1,t_teacher t2 WHERE t1.describe=#{describe} and t2.id=t1.teacher
</select>