普通的行專列 oracle行專列 更新中。。。

2022-03-10 19:39:22 字數 1701 閱讀 1060

這篇文章不錯:

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 的結果。

inner join 關鍵字在表中存在至少乙個匹配時返回行。

left join 關鍵字從左表(table1)返回所有的行,即使右表(table2)中沒有匹配。如果右表中沒有匹配,則結果為 null。

right join 關鍵字從右表(table2)返回所有的行,即使左表(table1)中沒有匹配。如果左表中沒有匹配,則結果為 null。

full outer join 關鍵字只要左表(table1)和右表(table2)其中乙個表中存在匹配,則返回行。full outer join 關鍵字結合了 left join 和 right join 的結果。

Oracle行專列函式Listagg

oracle行專列函式listagg 這是乙個oracle的行轉列函式 listagg www.2cto.com 先看示例 sql with temp as select china nation guangzhou city from dual union all select china nat...

Oracle行專列函式Listagg

oracle行專列函式listagg 這是乙個oracle的行轉列函式 listagg www.2cto.com 先看示例 sql with temp as select china nation guangzhou city from dual union all select china nat...

Mybatis 行專列詳解

1 原來是下圖的效果 2 需要根據日期轉成下圖這樣的效果,由於是靜態sql,所以日期只有兩天的,後面會說到動態sql 3 行專列sql如下 select sch name,max case class date when 2019 10 08 then num else 0 end 2019 10 ...