最近做一个项目,需要对人口数据进行查询,但是人口数据分布在不同的街道表中,首先进行了数据表结构的统一,每个数据表以街道名开头,然后其他的名字都一样

前期将各个表中的字段也进行了统一

抽象出一张字典表

将街道编号和街道的名字的首字母连接起来,因为查询的时候是利用街道编号来的,这样可以根据街道标号拼出相对于的街道表的名字,(每个人口相关的表不止一张,因此需要统一);在查询过程中,将查询到的结构返回一个LIST,(不同的表在dao中当然对于不同的类啊,返回来再判断是哪一类),然后利用反射Field[] fields = List.get(i).getDeclaredDields()获得具体的属性。拼出json文件返回前台。

这还不算,很多信息需要关联其他表,比如社区信息,社区信息需要根据街道信息才能查出来,但是不在同一张表中,因此反射回来以后,根据结果中的街道信息,再关联其他表求社区信息,刚开始的时候总出错,原来是我在设计对应的forms,数据库结果的java类时,申明与社区有关的信息在前,而街道在后,那么反射回来遍历属性的时候,先遍历到社区相关信息,而不是街道,就不能根据街道求出社区具体信息所在的表,社区相关信息也就没有又有意义了。

同时在数据库中拼sql语句时,发现在直接在语句里加参数,而不是通过参数数据进行传参时,需要加单引号啊

另外,=与in是不一样滴

附:

用的表有,

人口基本信息表 jiedao1peopleinfo;字段 名,性别,为了方便返回来以后我去求社区,我加了街道编号字段,社区相关信息1

社区表:社区名,编号

关联表:社区关联信息1,社区表的编号

字典表:街道编号,街道首字母

为了方便,我将所有表名字进行规范化,查询的时候,通过街道编号,查到街道首字母,这样就可以找到相关街道的人口表,社区表,关联表

返回人口信息里面的内容,然后我需要向前台返回名,性别,街道,社区,这样我还需要根据返回的街道编号,求出相关街道对应的表,定位到这个街道的关联表,根据前台给出的关联信息,找到社区表编号,再根据编号,找到社区名。

如果前台没有给参数,我就需要从多个街道取数据,这样关联起来几百个表,我直接新建立一个表,将人口基本信息统一到一张表里,直接插用

insert into table_c

select * from table_b

union

select * from table_a

开始还可以,但是后来有问题了,那个人口表里有日期数据,原来输入的时候输错了,格式不对,导致不能插入,这几十万条数据我不能一条一条看吧,我就只把用的数据插进去了,方法也简单,把星号换成具体的字段列名。

我通过街道编号是否存在来判断前台输入参数是否全面,通过这样建表,对于参数输入不确定的问题就解决了

mysql 查询两张表结构相同的数据库_利用反射处理多个表结构相同的数据的查询和数据库表的关联...相关推荐

  1. SqlServer+mysql查询两张表的相同和不同数据

    sqlserver 在SQL SERVER 2000中只能用Exists来判断,到了SQL SERVER 2005以后可以采用EXCEPT和INTERSECT运算符比较两张表的数据. INTERSEC ...

  2. Mysql如何对两张表的相同字段,同时查询两张数据表

    前言 假设现在有两张数据表 表1如下: 表2如下: 表1和表2同时都再mysql的情况下,只有他们的uuid是一样的,其他字段信息不同,现在需要用sql语句根据uuid,同时将符合要求的数据查询出来, ...

  3. mysql 左连接两张表_mysql左连接右连接(查询两张表不同的数据)

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 : right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: inner join(等值连 ...

  4. mysql 查询两张表结构相同的数据库_数据库原理习题(含答案)

    第一章绪论 Ⅰ.学习要点 1.准确掌握数据.数据库.数据库系统.数据库管理系统等基本术语.概念: 2.数据独立性的概念.分类及实现途径: 3.数据模型的概念.分类.要素及作用: 4.数据库三级模式体系 ...

  5. MySQL的两张表的七种Join查询

    SQL的语法格式如下 SELECT DISTINCT< select_list > FROM< left_table > < join_type > JOIN &l ...

  6. access如何查询两张表的内容_为什么可以的话,不要使用星号 *,而是相应的字段名来进行查询 MySQL内连接如何选择驱动表

    参考: 掘金小册​juejin.im 首先要了解单表查询方法,也就是explain中出来的,ref,index,const,all之类的. 然后了解index查询方法,也就是在联合索引中,条件不是第一 ...

  7. mysql如何两个表取差集_mysql 查询两张表的差集

    今天在做一个小功能的时候,遇到了需要取两个表的差集,本来可以直接通过两次查表然后通过代码去处理. 由于我个人比较喜欢减少数据库交互,所以在网上查了下关于mysql两个表取差集的方案.但是发现很多的 差 ...

  8. mysql查询两张表的同一列_如何快速查找两个数据表之间的相同和不同?

    原标题:如何快速查找两个数据表之间的相同和不同? 知识 随笔 案例 声音 其他 编者按 工作中经常会遇到对来源不同的数据进行比对,查找相同.不同.差异性等.过于复杂的需求,我们通常会转换思路,使用数据 ...

  9. oracle 查询两张表合并,oracle的多表合并查询-工作心得

    刚刚开发需求写了个SQL,记个笔记,学习下关于数据库的多表合并查询的用法 select t.* from A t UNION ALL/UNION/Intersect/MINUS select s.* ...

最新文章

  1. mysql定制化_【MySQL技巧】定制你的MySQL命令行-阿里云开发者社区
  2. 第二阶段冲刺--团队站立会议03
  3. 汽车全景标定(拼接)效果的检验方法
  4. java 钩子_java中钩子方法的概念
  5. 前端学习(507):垂直居中的第二种方式的优缺点
  6. 我的react+material-ui之路
  7. Python中fastapi构建的web项目使用pyinstaller打包为exe文件
  8. django进阶05中间件
  9. [开源]快速构建验证码
  10. 第二篇、python进阶篇
  11. 幼儿园观察记录的目的和目标_幼儿园教育活动内容实施中的观察与记录有何目的...
  12. 基于51单片机的对讲机原理图PCB程序设计
  13. Oracle中文乱码
  14. 关于程序员的调查报告
  15. my97日期范围限制
  16. 重装系统后usb失效如何处理
  17. CCNP之IGP学习笔记(2022)
  18. MS project中的完成百分比、工时完成百分比和实际完成百分比
  19. C. The Intriguing Obsession
  20. 林轩田《机器学习基石》资源汇总(视频+学习笔记+书)

热门文章

  1. 定时任务 Scheduled quartz
  2. Android 仿微信多张图片选择器,适配android10系统,open failed: EACCES (Permission denied)
  3. newcondition java_Java并发Condition接口
  4. js react根据几个颜色点计算区间任意数值对应颜色
  5. 数据结构实验三 树的遍历生成树
  6. pytorch之with torch.no_grad
  7. conda虚拟环境中安装ipython
  8. 【C++深度剖析教程31】被遗弃的多重继承
  9. 位运算实现一些小算法
  10. bzoj1051[kosaraju算法]求强连通分量