根据两个字段union如何写?

wulemale 2006-02-19 10:23:18
要两个字段都相同的记录才union成一条,如:
province city
江苏 无锡
江苏 苏州
江苏 无锡
江苏 南京
江苏 苏州
浙江 杭州
浙江 嘉兴
浙江 杭州
就应该uinon成:
江苏 无锡
江苏 苏州
江苏 南京
浙江 杭州
浙江 嘉兴
...全文
370 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wulemale 2006-02-19
  • 打赏
  • 举报
回复
是的
lsqkeke 2006-02-19
  • 打赏
  • 举报
回复
楼主,你想表达的意思是这样吗?
江苏 无锡 1
江苏 苏州 2
江苏 南京 3
浙江 杭州 1
浙江 嘉兴 2
wulemale 2006-02-19
  • 打赏
  • 举报
回复
每个省的cityno都从1开始递增
wulemale 2006-02-19
  • 打赏
  • 举报
回复
追加50分再问一问:
如果用union结果追加到另一个表的同时,要给一个cityno字段赋值,该cityno字段是用来给同一province的各city编顺序号的(按1递增就行)
lsqkeke 2006-02-19
  • 打赏
  • 举报
回复
insert into tb2(province,city) select distinct province,city from tb1

或者:
insert into tb2(province,city)
select province , city from ta
union
select province , city from tb
wulemale 2006-02-19
  • 打赏
  • 举报
回复
谢谢各位,如果是把union的结果追加到另一个表的这两个字段中呢?
lsqkeke 2006-02-19
  • 打赏
  • 举报
回复
如果是兩個表,也不用写distinct,union 自动合并重复行的

select province , city
from ta
union
select province , city
from tb
点点星灯 2006-02-19
  • 打赏
  • 举报
回复
declare @tab table(province varchar(20),city varchar(20))

insert @tab values('江苏','无锡')
insert @tab values('江苏','苏州')
insert @tab values('江苏','无锡')
insert @tab values('江苏','南京')
insert @tab values('江苏','苏州')
insert @tab values('浙江','杭州')
insert @tab values('浙江','嘉兴')
insert @tab values('浙江','杭州')

select distinct * from @tab
lsqkeke 2006-02-19
  • 打赏
  • 举报
回复
select distinct province,city from tb
Andy__Huang 2006-02-19
  • 打赏
  • 举报
回复
如果是一個表就這樣寫
select distinct province , city from tb


如果是兩個表就這樣寫
select distinct province , city
from ta
union
select distinct province , city
from tb



lsqkeke 2006-02-19
  • 打赏
  • 举报
回复
多试几次 服务器忙点就这样了
wulemale 2006-02-19
  • 打赏
  • 举报
回复
为什么结帖出现:"贴子回复次数大于跟给分次数":(
lsqkeke 2006-02-19
  • 打赏
  • 举报
回复
declare @tab table(province varchar(20),city varchar(20))

insert @tab values('江苏','无锡')
insert @tab values('江苏','苏州')
insert @tab values('江苏','南京')
insert @tab values('浙江','嘉兴')
insert @tab values('浙江','杭州')

select distinct id=identity(int,1,1), * into #t from @tab

select province,
city,
cityno=(select count(1) from #t where id<=a.id and province=a.province)
from #t a
wulemale 2006-02-19
  • 打赏
  • 举报
回复
好了,谢谢!
wulemale 2006-02-19
  • 打赏
  • 举报
回复
cityno字段值如何得到?
lsqkeke 2006-02-19
  • 打赏
  • 举报
回复
如果这样,不转化,就直接写啊 :)
wulemale 2006-02-19
  • 打赏
  • 举报
回复
原来这两张表就都有自增字段id的
lsqkeke 2006-02-19
  • 打赏
  • 举报
回复
实现这个,需要追加一个自增字段


declare @tab table(province varchar(20),city varchar(20))

insert @tab values('江苏','无锡')
insert @tab values('江苏','苏州')
insert @tab values('江苏','南京')
insert @tab values('浙江','嘉兴')
insert @tab values('浙江','杭州')

select distinct id=identity(int,1,1), * into #t from @tab

select province,
city,
id=(select count(1) from #t where id<=a.id and province=a.province)
from #t a

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧