mysql查詢之后排列問題
問題描述
有兩個2表,table1 和 table2問題如下:
select a.a,a.b from table1 a;select b.a,b.b from table2 b;有2個查詢,比如table1 和 table2 都只有1條數(shù)據(jù),我想把查詢的結(jié)果放在一條 select a.a,a.b,b.a,b.b from table1 a,table2 b where a.id = b.aid這種是可以 然后b表有多條數(shù)據(jù)和a關(guān)聯(lián)的時候的時候我想重命名字段名我想要的結(jié)果:select a.a,a.b,b.a,b.b,c.a,c.b from table1 a,table2 b,table2 c where a.id = b.aid and a.id=c.aid現(xiàn)在我不確定table2有幾條數(shù)據(jù)是和table1綁定的,而且table2數(shù)據(jù)查詢出來的字段如果有5條每條字段名稱都需要重命名求個解決方法
可能是我描述的不清楚,連表查詢可以的話,我也不需要提問了現(xiàn)在有3張表:A:id,caseid B:id,caseid,accidentid,name(張三) C:id,caseid,accident,name(李四) B和C 是同一張表,只是數(shù)據(jù)不同,但是都綁定這A我最后要查詢出來的格式是:A.id,A.caseid,B.accident,B.name,C.accident,C.name 這是一條數(shù)據(jù)6列
問題解答
回答1:select * from table1 as a right join table2 as b on a.id = b.aid;
回答2:select * from table1 as a right join table2 as b on a.id = b.aid;
right join的用法這個語句的意思就是 以table2為主表連接table1
而且你拿出來的字段名字就是a.a等等啊,這個就不會重復了啊,因為你字段里制定了這個字段來自哪個表要是想重新命名可以使用 a.a as T1-a(任取名字)
select * from table2 as b left join table1 as a on a.id = b.aid;
也可以使用 left join 只是把table1和table2的位置換了一下!
回答3:問題1:返回不同數(shù)目的字段要放在一條sql里面?
問題2:是否只能table2最多有幾條不同的字段?
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. javascript - QWebEngineView 如何爬 angular 的動態(tài)數(shù)據(jù)?3. javascript - 使用angular 的ui-sref 中出現(xiàn)了中文參數(shù),點擊跳轉(zhuǎn)后瀏覽器的地址欄里出現(xiàn)轉(zhuǎn)義后的%AE....%a%44. java - ConcurrentHashMap中的get()方法為什么可以不加鎖?5. java - 郵箱如何發(fā)送html內(nèi)容6. html5 - 這個代碼顯示功能如何實現(xiàn)?7. javascript - 用JS 七牛上傳圖片出現(xiàn)文件已存在的錯誤(file exists)8. java - 字節(jié)流轉(zhuǎn)成字符串之后,在通過字符串轉(zhuǎn)成字節(jié)流后的文件為什么會不一樣?9. css3 - 圖片等比例縮放10. java - 如何理解“不要通過共享內(nèi)存來通信,而應該通過通信來共享內(nèi)存”?
