sql 语句 多表查询 自动生成序号

dangyj 2018-02-11 12:21:00
如图两张表



因为插入的顺序不一样,所以导致自动编号id没有按照大小来排序,还可能是相等的,我现在想要查询出两张表的所有数据,并且自动生成序号。请问一下sql怎么写?

我用的查询语句是
select item0 from tb1
union all
select item0 from tb2
这样是没有行号的

如果是单个表查询的话,我用select (select count(*) from tb1 where id<=a.id) as id,item0 from tb1 as a
这样可以达到我的效果,但是多表的话应该怎么做呢?
...全文
1146 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2018-02-12
  • 打赏
  • 举报
回复
有相同值的排序,只用生成表,在新表新增一自增列
xiaoxiangqing 2018-02-12
  • 打赏
  • 举报
回复
用ROW_NUMBER()就行了
疯狂的疯 2018-02-12
  • 打赏
  • 举报
回复
直接使用你自己的写法就行,多表就先做结果集,做好之后再加个子查询加上Id列
dangyj 2018-02-11
  • 打赏
  • 举报
回复
我使用的access ,里面没有row_number这个函数
吉普赛的歌 2018-02-11
  • 打赏
  • 举报
回复
SELECT 
	ROW_NUMBER() OVER (ORDER BY item0) AS rid
	,* 
FROM 
(
	select item0 from tb1
	union all
	select item0 from tb2
) AS t
日月路明 2018-02-11
  • 打赏
  • 举报
回复
access不熟,但是感觉你这样的结果也没特别的意义,如果数据量不大的话,可以写入一个中间表,再从中间表取出数据
吉普赛的歌 2018-02-11
  • 打赏
  • 举报
回复
access 不熟悉, 你看下面这个对你有没有帮助 http://blog.csdn.net/acmain_chm/article/details/5125291

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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