+ -
当前位置:首页 → 问答吧 → 怎样按同一条件在多个表中查询

怎样按同一条件在多个表中查询

时间:2011-05-23

来源:互联网

数据库包含5个表 现在要把5个表的样品登记号都列出来 5个表中没有主表 5个表并列关系 现在要把5个表中所有的样品登记号显示出来 并且要使查询中包含如下字段,样品登记号 MI  拉伸强度 密度 分散登记 弯曲模量,如果某一样品登记号只有密度的内容,那么只显示密度 拉伸强度等项当然就没有值,同一样品登记号有MI 密度两项内容,就显示两项,有多少显示多少,请教下应该怎么做到?

附件

多表查询.rar(15.56 KB)

2011-5-23 12:02, 下载次数: 5

作者: [email protected]   发布时间: 2011-05-23

分组的函数用什么你可以自己改,LAST()/FIRST(),MIN/MAX等都行。
话说回来,你这样的需求应该设计主表(即样品登记表),其余的表从样品表中取登记号,数据库设计应该遵循一定的逻辑,否则费力费事不说,也会容易误入歧途。


select 样品登记号,last(mi) as miV,last(拉伸强度) AS 强度V,last(密度) AS 密度V,last(分散等级) AS 等级V,last( 弯曲模量) AS 弯曲V from (
SELECT 样品登记号,mi,null as 拉伸强度,null as 密度,null as 分散等级,null as 弯曲模量 FROM  MI数据库 union all
SELECT 样品登记号,null,拉伸强度,null,null,null FROM 拉伸数据库 union all
SELECT 样品登记号,null,null,密度,null,null FROM 密度数据库 union all
SELECT 样品登记号,null,null,null,分散等级,null FROM 炭黑分散数据库 union all
SELECT 样品登记号,null,null,null,null,弯曲模量 FROM 弯曲数据库) a group by 样品登记号

作者: marco   发布时间: 2011-05-23

有的结果好像有丢失,比如MI 原表中G-100001和G-100055中都有数值,但按照您的做法G-100001的MI数据丢失了,应该怎样做才能使数据显示完全呢?还有就是您说先建个样品登记的主表,主表就只用含有样品登记号这个字段吗?

作者: [email protected]   发布时间: 2011-05-23