Maison >base de données >tutoriel mysql >解决 船与运输问题
无详细内容 排座位 drop table v1;create table v1( name varchar(10), --人名, addres varchar(10) --去哪里,); insert into v1 values('my1','上海'); insert into v1 values('my2','北京'); insert into v1 values('my3','上海'); insert into v1 values('
排座位drop table v1; create table v1( name varchar(10), --人名, addres varchar(10) --去哪里, ); insert into v1 values('my1','上海'); insert into v1 values('my2','北京'); insert into v1 values('my3','上海'); insert into v1 values('my4','江西'); insert into v1 values('my5','上海'); select * from v1; drop table v2; create table v2( shipname varchar(10), --船名, addres varchar(10) --去哪里 ); insert into v2 values('ship1','上海'); insert into v2 values('ship2','北京'); insert into v2 values('ship3','上海'); insert into v2 values('ship4','四川'); select * from v2; select v1.name,v1.addres ,ROW_NUMBER() OVER(PARTITION BY v1.addres ORDER BY v1.addres DESC) AS 'RowNumber' from v1 order by v1.name; select v2.addres,v2.shipname ,ROW_NUMBER() OVER(PARTITION BY v2.addres ORDER BY v2.addres DESC) AS 'RowNumber' from v2 order by v2.addres; select x.name ,x.addres ,y.shipname from (select v1.name,v1.addres ,ROW_NUMBER() OVER(PARTITION BY v1.addres ORDER BY v1.addres DESC) AS 'RowNumber' from v1) x left join (select v2.addres,v2.shipname ,ROW_NUMBER() OVER(PARTITION BY v2.addres ORDER BY v2.addres DESC) AS 'RowNumber' from v2) y on x.addres =y.addres and x.RowNumber=y.RowNumber