我现在有两个表A和B,想把A中的几列与B中的几列组成一个新表,
但是情况是这样的:
A 和 B中有一个共有列,但是这个共有列在A中 和B中 都有重复出现的情况,而且,两个表的行数也不相同!
但是情况是这样的:
A 和 B中有一个共有列,但是这个共有列在A中 和B中 都有重复出现的情况,而且,两个表的行数也不相同!
解决方案 »
- 求差集语句
- mysql 悲观锁产生能否让其他select语句取到数据
- The MySQL adapter "mysql" is not available. 请文各位这个是什么错误
- mysql 不能连接本地本地服务器的问题
- mysql 安装包问题
- 急!!! mysql导入sql文件问题
- 怎么样在其他电脑连接到我机上的mysql
- my sql功能怎么这么烂啊...这样都查不出来..
- Red Hat Linux Enterprise 3 应该用哪个版本的 MySQL 做cluster环境呢?
- 请问高手,一个向mysql中导入sqlserver数据时的报错.
- 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