Mybatis三表连接查询时如何避免数据重复问题?
- 内容介绍
- 相关推荐
本文共计1781个文字,预计阅读时间需要8分钟。
该问题的产生主要是由数据库中表的字段名相同导致的。具体来说,三张表分别是:
- DOCTOR- JOB- OBJECT
在查询语句中,没有对字段名进行区分,导致了查询错误。正确的查询语句应该指明每张表中对应的字段名,例如:
sqlSELECT d.*, j.*, o.* FROM ( SELECT d.*, rownum as r FROM DOCTOR d WHERE rownum=6) d JOIN job j ON d.job_id=j.id JOIN OBJECT o ON d.object_id=o.id;
这里假设`DOCTOR`表中的`job_id`字段与`JOB`表的`id`字段对应,`DOCTOR`表中的`object_id`字段与`OBJECT`表的`id`字段对应。通过这种方式,可以避免字段名冲突的问题。
本文共计1781个文字,预计阅读时间需要8分钟。
该问题的产生主要是由数据库中表的字段名相同导致的。具体来说,三张表分别是:
- DOCTOR- JOB- OBJECT
在查询语句中,没有对字段名进行区分,导致了查询错误。正确的查询语句应该指明每张表中对应的字段名,例如:
sqlSELECT d.*, j.*, o.* FROM ( SELECT d.*, rownum as r FROM DOCTOR d WHERE rownum=6) d JOIN job j ON d.job_id=j.id JOIN OBJECT o ON d.object_id=o.id;
这里假设`DOCTOR`表中的`job_id`字段与`JOB`表的`id`字段对应,`DOCTOR`表中的`object_id`字段与`OBJECT`表的`id`字段对应。通过这种方式,可以避免字段名冲突的问题。

