SQL語句實現行轉列
最近在維護一個項目,出現了一下bug需要進行調試,於是把正式庫上面的代碼搬到本地庫上面,數據庫是本地的,跑項目的時候調試發現代碼裏面帶有wmsys.wm_concat函數的SQL語句出現錯誤,經排查發現本地測試庫用的是oracle 11g版本,比正式庫上的版本高,解決方式這分享給大家:
wmsys.wm_concat是oracle 10g推出的,用來連接字符串,LISTAGG是oracle 11g推出的,它的作用和wmsys.wm_concat是一樣的。 select listagg(p.id_card,‘,‘) within group(order by p.PERSON_ID) PERSON_IDCARDS from cbms_lib_person p where p.person_id in (136565,158756,158762,158761,149569,153512,89376,70196) 截圖效果如下地址: ![](https://img2018.cnblogs.com/blog/1311553/201811/1311553-20181108102531176-1161827259.png)
SQL語句實現行轉列
相關推薦
SQL語句實現行轉列
within sel 11g wm_concat 進行 com 10g 本地測試 from 最近在維護一個項目,出現了一下bug需要進行調試,於是把正式庫上面的代碼搬到本地庫上面,數據庫是本地的,跑項目的時候調試發現代碼裏面帶有wmsys.wm_concat函數的SQL語句
使用pivot和unpivot語句實現行轉列,列轉行
在做報表時,經常需要將資料表中的行轉列,或者列轉行,如果不知道方法,你會覺得通過SQL語句來實現非常難。這裡,我將使用pivot和unpivot來實現看似複雜的功能。 引用MSDN: 可以使用 PIVOT 和 UNPIVOT 關係運算符將表值表示式更改為另一個表。PIVOT
mysql sql語句:行轉列問題
存在表score,記錄學生的考試成績,如下圖所示: 現要求以 學生姓名,語文,數學,英語 這種格式顯示學生成績,如下圖所示 具體步驟如下:1、首先,使用case when函式輸出單個課程的成績case when co
SQL資料庫查詢實現行轉列與列轉行結果SQL語句
CREATETABLE[StudentScores]( [UserName]NVARCHAR(20), --學生姓名[Subject]NVARCHAR(30), --科目[Score]FLOAT, --成績)INSERTINTO[StudentS
Oracle 動態SQL實現SQL查詢子集行轉列
引言 我們都知道Oracle的Pivot的In()裡是不能跟SQL查詢語句的,必須是已知的字串結果,然而我專案中遇到的需求這個In 並不是靜態的,而是根據我傳遞的條件來篩選,一開始想的是解析XML,可惜轉為XML之後,有相同的重複的節點,解析太麻煩,於是想通過
Oracle SQL函式pivot、unpivot轉置函式實現行轉列、列轉行
函式PIVOT、UNPIVOT轉置函式實現行轉列、列轉行,效果如下圖所示: 1.PIVOT為行轉列,從圖示的左邊到右邊 2.UNPIVOT為列轉行,從圖示的右邊到左邊 3.左邊為縱表,結構簡單,易擴充套件 4.右邊為橫表,展示清晰,方便查詢 5.很多時候業務表為縱表,但是統
MySQL 實現行轉列SQL
概述 好久沒寫SQL語句,今天看到問答中的一個問題,拿來研究一下。 情景簡介 學校裡面記錄成績,每個人的選課不一樣,而且以後會新增課程,所以不需要把所有課程當作列。資料表裡面數據如下圖,使用姓名+課程作為聯合主鍵(有些需求可能不需要聯合主鍵)。本文以MySQL為基
LINQ TO SQL 實現行轉列
表結構如下: id NAME result ----------- -------------------- ------ 1 jim 勝 2
sql pivot(行轉列) 和unpivot(列轉行)的用法
sql clas 數據 sele core unp null col style 1、PIVOT用法(行轉列) select * from Table_Score as a pivot (sum(score) for a.name in ([語文],[數學],[外語],[
SQL Server 動態行轉列(引數化表名、分組列、行轉列欄位、欄位值)
一.本文所涉及的內容(Contents) 二.背景(Contexts) 其實行轉列並不是一個什麼新鮮的話題了,甚至已經被大家說到爛了,網上的很多例子多多少少都有些問題,所以我希望能讓大家快速的看到執行的效果,所以在動態列的基礎上再把表、分組欄位、行轉列欄位、值這四個行轉列固定需要的值變成真正意義的
怎樣用SQL語句實現查詢一列中的第N大值?
答:select * from (select * from 表 order by 列名 Desc) where Rownum <= N Minus select * from (select
SQL pivot(行轉列),unpivot(列轉行)
【pivot】行轉列:多行變一列 假設學生成績表Score1 Name Subject Score 小張 語文 88 小花 數學 89 小張
SQL2005/2008中實現行轉列的2種方法
CREATE TABLE sales.salesByMonth(year char(4),month char(3),amount money,PRIMARY KEY (year, month))INSERT INTO sales.salesByMonth (year,
MySQL中GROUP_CONCAT函式長度限制處理/實現行轉列的功能
MySQL提供了一個很方便的函式group_concat可以實現行轉列的功能。 SELECT t.*, (SELECT GROUP_CONCAT(fellow_company_id) v1 FROM t_trade_fellow a WHERE fellow_type = '1' AND a.company_
Oracle 11g Pivot函式實現行轉列
先上語法規範: SELECT .... FROM PIVOT ( aggregate-function() FOR IN (, ,..., )
MySQL 如何實現行轉列分級輸出?
概述好久沒寫SQL語句,今天看到問答中的一個問題,拿來研究一下。情景簡介學校裡面記錄成績,每個人的選課不一樣,而且以後會新增課程,所以不需要把所有課程當作列。資料表裡面數據如下圖,使用姓名+課程作為聯合主鍵(有些需求可能不需要聯合主鍵)。本文以MySQL為基礎,其他資料庫會有
老生常談之SQL Server (行轉列,列轉行)
1 --靜態的行轉列 2 --新建一個科目成績表 3 --三個欄位:學生名稱,科目,成績 4 CREATE TABLE SubjectScore 5 ( 6 StuName nvarchar(20), 7 SubjectName nvarchar(20), 8 F
SqlServer PIVOT函式快速實現行轉列,UNPIVOT實現列轉行
我們在寫Sql語句的時候沒經常會遇到將查詢結果行轉列,列轉行的需求,拼接sql字串,然後使用sp_executesql執行sql字串是比較常規的一種做法。但是這樣做實現起來非常複雜,而在SqlServer2005中我們有了PIVOT/UNPIVOT函式可以快速實現行轉列和
如何優雅地使用R實現行轉列
網上有網友問到:在一個資料夾下,收集了幾個股票資料的檔案,對應的股票名稱為第2列,對應的時間為第3列,對應的收盤價為第10列。 現在想做到下圖所示的效果,也就是行為時間,列為對應的股票的收盤
linq實現行轉列
nt maxcount = Model .SelectMany(h => h.DetailList).OrderBy(h => h.DetailType) .