mysql - 如何聯(lián)合查詢兩個(gè)結(jié)構(gòu)相同的表并且id不重復(fù)
問題描述
1.有兩個(gè)相同結(jié)構(gòu)的表guangdong_student,shanghai_student,希望聯(lián)合查詢表一,表二,得到表三的結(jié)果。使用union會(huì)導(dǎo)致id重復(fù),如何做到id自增
2.示例:
表一:guangdong_student+----+----------+| id | username |+----+----------+| 1 | jhon || 2 | may || 3 | abcd1111 |+----+----------+表二:shanghai_student+----+----------+| id | username |+----+----------+| 1 | jhon || 2 | mike || 3 | abcd |+----+----------+希望合并后的表:student+----+----------+| id | username |+----+----------+| 1 | jhon || 2 | may || 3 | abcd1111 || 4 | mike || 5 | abcd |+----+----------+
問題解答
回答1:在id是Primary key并且為auto_increment的情況下,執(zhí)行下面語句可以做到。insert into guangdong_student(username) select username from shanghai_student;
回答2:set @id=0;select @id := @id+1 id,distinct username, from ((select * from guangdong_student) gd union (select * from shanghai_student) sh) student;回答3:
select @id := @id+1 id, usernamefrom ( select username from guangdong_student union select username from shanghai_student) t1,(SELECT @id:=0) t2
相關(guān)文章:
1. gulp-ruby-sass編譯出來的文件有錯(cuò)2. javascript - table固定尾行,有人寫過嗎?3. java - 如何理解“不要通過共享內(nèi)存來通信,而應(yīng)該通過通信來共享內(nèi)存”?4. 引入traits后,為什么index得是空的呢?5. dockerfile - docker-compose啟動(dòng)lnmp失敗?6. javascript - 使用node.js的ws模塊不斷地向客戶端發(fā)送消息,應(yīng)該如何不斷地去觸發(fā)“發(fā)送”這個(gè)動(dòng)作7. javascript - 為什么會(huì)打印兩次啊?8. javascript - 如何在NW.JS中使用Node自動(dòng)重啟進(jìn)程?9. string - Python字符串不區(qū)分大小寫替換10. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。
