数据库 两个表中各取一部分组成一个新表 我现在有两个表A和B,想把A中的几列与B中的几列组成一个新表,但是情况是这样的:A 和 B中有一个共有列,但是这个共有列在A中 和B中 都有重复出现的情况,而且,两个表的行数也不相同! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select a.col1,a.col2,b.col1from a inner join b using (id) 建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://forum.csdn.net/BList/OtherDatabase 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。 [Quote=引用 2 楼 acmain_chm 的回复:]引用但是这个共有列在A中 和B中 都有重复出现的情况,而且,两个表的行数也不相同!建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。 参考一下这个贴子的提问方式http://forum.csdn.net/BList/OtherDatabase 1. 你的 create table xxx .. 语句 2. 你的 insert into xxx ... 语句 3. 结果是什么样,(并给以简单的算法描述) 4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL) 这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。 表ACREATE TABLE hisdyninfo( messageid integer, mmsi integer NOT NULL, status character varying(60), turnrate double precision, speed double precision, lon double precision, lat double precision, course double precision, heading double precision, updatetime timestamp without time zone DEFAULT now(), "position" geometry, zoom integer DEFAULT 0, CONSTRAINT enforce_geotype_position CHECK (geometrytype("position") = 'POINT'::text OR "position" IS NULL), CONSTRAINT enforce_srid_position CHECK (srid("position") = 101)) 表BCREATE TABLE hisallstainfo( messageid integer, mmsi integer NOT NULL, imonumber integer, callsign character(7), name character varying(30), "type" character varying(30), width integer, length integer, eta character varying(20), draught double precision, destination character varying(20), updatetime timestamp without time zone DEFAULT '2030-01-01 00:00:00'::timestamp without time zone, starttime timestamp without time zone, offseta integer DEFAULT 0, offsetb integer DEFAULT 0, offsetc integer DEFAULT 0, offsetd integer DEFAULT 0) 要用到A中的基本上所有的,及B中大部分的。建个新表如下,CREATE TABLE zong( mmsi integer NOT NULL, status character varying(60), turnrate double precision, speed double precision, lon double precision, lat double precision, course double precision, heading double precision, updatetime timestamp without time zone, "position" geometry, "type" character varying(30), width integer, length integer, eta character varying(20), draught double precision, destination character varying(20), starttime timestamp without time zone, offseta integer DEFAULT 0, offsetb integer DEFAULT 0, offsetc integer DEFAULT 0, offsetd integer DEFAULT 0) 记录及达到的目的要几条INSERT语句,插入记录,以及你要的正确结果是什么 上面的那三个表,是我有的表,我主要就是想用insert into zong select ...from hisallstainfo及hisdyninfo。上两表中的mmsi码实际上是唯一的,但是由于后面的updatetime列不同,所以,mmsi码出现了重复,我现在的表中就是想实现以mmsi码与updatetime两列来区分行的一个总表。怎么做啊?不知道表达清楚了吗?我是个菜鸟,刚开始用sql,不太懂!谢谢帮忙啊! 我已经列出来了,在4楼!最下面的zong表就是目标表!还需要知道什么,跟我说说,我不太懂! hisdyninfo、hisallstainfo表中的记录,通过什么字段连接,你要在zong表中插入什么记录 mmsi 和 updatetime吧!不过两者都有重复,但是一个mmsi码对应的只有一个updatetime!所以应该还是可以实现的吧,怎么实现呢? 我是菜鸟,不好意思,看的不太懂啊,我只希望能给个sql语句解决掉,没想到这么麻烦啊!我主要是想通过hisdyninfo、hisallstainfo表的连接,具体我也不知道什么连接,然后得到zong表。其中zong表中的每一组mmsi及updatetime是唯一的!(也就是说他俩一起才确定一行!) 前面那个说的有点不清楚,应该是说,通过mmsi和updatetime连接!一组对应的mmsi和updatetime才能确定唯一的一行! 关键是别人猜不出你到底想实现什么功能。有时候仅靠语言,很多人都无法准确表达或者理解。 参考一下这个贴子的提问方式http://forum.csdn.net/BList/OtherDatabase 在,需要两个表中的大量数据,但不是全部(四楼中的zong表就是我想建立的目标表),其中表中的每一行由mmsi和updatetime联合唯一确定! 算了,如果你用MYSQL,用MYSQLDUMP导出记录,上传到www.access911.net/csdn在这里贴要求结果 我说怎么回事,原来放错链接了。建议楼主看一下这个贴子的提问方法。http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html?seed=206485877&r=61545678#r_61545678 数据库写太频繁是否会造成意外错误? 一条语句可实现吗 怎么用mysql建表,并将数据库导入eclipse 求一段定时更新数据库的代码! 求几简单mysql分页语句 mysql安装在linux中,现在想改变数据库存放的路径,该怎么做? Win2003下使用EMS SQL Manager出现问题 HELP! 数据库出错啦,帮帮忙吧 大家有没有自己动手做过分库分表的实例? int自增列重置 mysql中怎么查询表中的字段个数? 求教SQL 只包含查询语句
from a inner join b using (id)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://forum.csdn.net/BList/OtherDatabase
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。
引用但是这个共有列在A中 和B中 都有重复出现的情况,而且,两个表的行数也不相同!建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://forum.csdn.net/BList/OtherDatabase
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试。
表ACREATE TABLE hisdyninfo
(
messageid integer,
mmsi integer NOT NULL,
status character varying(60),
turnrate double precision,
speed double precision,
lon double precision,
lat double precision,
course double precision,
heading double precision,
updatetime timestamp without time zone DEFAULT now(),
"position" geometry,
zoom integer DEFAULT 0,
CONSTRAINT enforce_geotype_position CHECK (geometrytype("position") = 'POINT'::text OR "position" IS NULL),
CONSTRAINT enforce_srid_position CHECK (srid("position") = 101)
)
表BCREATE TABLE hisallstainfo
(
messageid integer,
mmsi integer NOT NULL,
imonumber integer,
callsign character(7),
name character varying(30),
"type" character varying(30),
width integer,
length integer,
eta character varying(20),
draught double precision,
destination character varying(20),
updatetime timestamp without time zone DEFAULT '2030-01-01 00:00:00'::timestamp without time zone,
starttime timestamp without time zone,
offseta integer DEFAULT 0,
offsetb integer DEFAULT 0,
offsetc integer DEFAULT 0,
offsetd integer DEFAULT 0
)
要用到A中的基本上所有的,及B中大部分的。
建个新表如下,CREATE TABLE zong
(
mmsi integer NOT NULL,
status character varying(60),
turnrate double precision,
speed double precision,
lon double precision,
lat double precision,
course double precision,
heading double precision,
updatetime timestamp without time zone,
"position" geometry,
"type" character varying(30),
width integer,
length integer,
eta character varying(20),
draught double precision,
destination character varying(20),
starttime timestamp without time zone,
offseta integer DEFAULT 0,
offsetb integer DEFAULT 0,
offsetc integer DEFAULT 0,
offsetd integer DEFAULT 0
)
要几条INSERT语句,插入记录,以及你要的正确结果是什么
insert into zong select ...from hisallstainfo及hisdyninfo。
上两表中的mmsi码实际上是唯一的,但是由于后面的updatetime列不同,所以,mmsi码出现了重复,我现在的表中就是想实现以mmsi码与updatetime两列来区分行的一个总表。怎么做啊?
不知道表达清楚了吗?
我是个菜鸟,刚开始用sql,不太懂!谢谢帮忙啊!
我已经列出来了,
在4楼!最下面的zong表就是目标表!
还需要知道什么,跟我说说,我不太懂!
我主要是想通过hisdyninfo、hisallstainfo表的连接,具体我也不知道什么连接,然后得到zong表。其中zong表中的每一组mmsi及updatetime是唯一的!(也就是说他俩一起才确定一行!)
www.access911.net/csdn
在这里贴要求结果
建议楼主看一下这个贴子的提问方法。
http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html?seed=206485877&r=61545678#r_61545678