• 普通的行专列;oracle行专列;更新中。。。


    题记

    本来想写一个完整的表创建,但是其他人都写过啦,要不这样,你们有什么行转列的问题给我留言,我直接回答如何

    Oracle的行转列

    这篇文章不错:https://blog.csdn.net/huay_li/article/details/82914161

    1 SELECT
    2     *
    3 FROM table  
    4 PIVOT(MAX(A) , MAX(B) as b, MAX(V) as c FOR (D) IN ( 'xiaoming' AS xiaoming )
    其中max是函数,c是要进行循环的字段,in是循环的内容,

    普通的行转列

     1 --nvl(a,b)->如果a不存在就显示b,否则显示a
     2 --decode,oracle独有的if,else;eg:decode(a,1,2);如果a=1,就返回2
     3  原理就是多表联查,利用全连接(full join)拼接字段
      select A.*,B.* from A
      full join B
      on A.x=B.x

     说到全连接 不得不说说 左连 全连的区别

    转载:这篇文章生动形象;一图看懂join、left join、right join、fulljoin间的区别

    INNER JOIN 关键字在表中存在至少一个匹配时返回行。

    LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。

    RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。

    FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行。FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。

  • 相关阅读:
    学习Timer定时器
    C++ 延时等待(sleep/timer/wait)
    MFC学习问题总结
    node.js
    总结
    关于Windows
    关于数组
    每周一次
    每周一次
    每周一次
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/11589771.html
Copyright © 2020-2023  润新知