取出两张表中相同的数据 oracle,两表连接,取出其中某些项不重复的数据 – 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 1...

有省、市数据库表,现在要求只取每一个省中的一个市出来

数据库脚步如下

省表:

CREATE TABLE [dbo].[mem_province](

[id] [int] NOT NULL,

1 [nvarchar](6) NOT NULL,

[name] [nvarchar](40) NULL,

CONSTRAINT [PK_mem_province] PRIMARY KEY CLUSTERED

(

1 ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

1e250503b1d6f100b68f95c15d31398a.png

市表:

CREATE TABLE [dbo].[mem_city](

[id] [int] NOT NULL,

1 [nvarchar](6) NOT NULL,

[name] [nvarchar](50) NULL,

[provinceId] [nvarchar](6) NULL,

CONSTRAINT [PK_mem_city] PRIMARY KEY CLUSTERED

(

1 ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

337516f78cb12b648b68e6f7eef686a1.png

执行sql语句为:

SELECT *

FROM   (

SELECT a.id aid,

a.code acode,

a.name aname,

b.id bid,

b.code bcode,

b.name bname,

b.provinceId bprovinceId

FROM   mem_province a left   JOIN

mem_city b

on  a.code= b.provinceId

)c

WHERE  NOT   EXISTS (

SELECT 1

FROM   (SELECT a.id aid,

a.code acode,

a.name aname,

b.id bid,

b.code bcode,

b.name bname,

b.provinceId bprovinceId

FROM   mem_province a LEFT   JOIN

mem_city b

on  a.code= b.provinceId)e

WHERE  e.bid

AND  e.aname = c.aname

) ORDER BY aid

结果如:

8a451a5bd90264ebfd6a0ec2cccf0a56.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值