1. 程式人生 > >SQL中讓某列的欄位作為返回結果的列名 (比如物品,日期,數量)

SQL中讓某列的欄位作為返回結果的列名 (比如物品,日期,數量)

Declare   @sql   varchar(800) 
 set   @sql   =   'select   [物品]'
select   @sql   =  @sql   + ', sum(case  日期  when   '''+ 日期+'''   then   數量  else  0  end ) as   ['+ 日期+']'  
    from   (select   distinct   日期   from ee  ) as mycb
  select   @sql   =   @sql+'   from   ee  group   by  [物品]'         

  exec(@sql)

 

 

比如表A中:
日期 數量 物品
1月1日 200 A
1月1日 300 A
1月2日 100 B
1月3日 200 A

我希望得到的結果是:
物品 1月1日 1月2日 1月3日
A 500 200
B 100

相關推薦

SQL作為返回結果列名 (比如物品,日期,數量)

Declare   @sql   varchar(800)   set   @sql   =   'select   [物品]' select   @sql   =  @sql   + ', sum(case  日期  when   '''+ 日期+'''   then  

Sql server 計算一個值出現的頻數,總數量

  SELECT YZJCYY,count(*) time FROM [dbo].[I_CheckRecordFirst] where YZJCJG='不通過' GROUP BY YZJCYY GO 其中YZJCYY 是要統計的欄位, where 是條件, count(*) t

bootstrapTable行內動態編輯行資料

今天開發者遇到了一個需求:在一個table資料中,點選某行的某一個列資料就行修改該行該欄位的屬性值(另一篇博文有優化方法)。 前言:在網上搜索了一番,使用x-editable元件去實現這個功能,在下載了一些js檔案後,一番搗鼓搞不定(如需要下面js留下地址送你),後來使

獲取json語句可以能為空,如何防止程式異常終止

有時候我們獲取json語句中的某一欄位,欄位可以能為空。可以採用以下兩種方法來編寫程式碼避免程式因找不到目標物件而終止。 # try: # label = all_json2['APP']['label'] # 標籤 # except: # label = '' label

javalist裡面存放map,根據map一個進行排序

Java中list裡面存放map,根據map中的某一個欄位進行排序 例如: package com;   import java.util.ArrayList;   import java.util.Collections;   import java.util.Comparator;   impor

sql 查詢除外的所有

方法1.     直接寫         select   列1,列2...列n   from   你的表           方法2.     從syscolumns中提出欄位資訊,用生成SQL語句的方法         declare   @sql   varchar(8

Java list裡面存放map,根據map一個進行排序 lambda

//lambda Collections.sort(list, (o1, o2) -> { String name1 = (String) o1.get("id"); String name2 = (String) o2.get("id"); return name2.

DataTable根據一個來改變本行格式

效果如圖: 根據紅色 字型這一列的資料,是到期日期,如果在一個月內到期的話,那麼該行將會變成黃色顯示,並且到期日期將會變成紅色。 程式碼如下: "aoColumnDefs":[ {//第 14 列 到期日期

SQL查詢有很多,就不想要其中一個的方法

在sql查詢中 通常選取欄位都是select 欄位1,欄位2,欄位3....... from 表, 如果有很多欄位,就不想要其中一個 有沒有方法能 select 非(欄位1) from 表 查到其他欄位的內容呢 把欄位1去掉declare @s nvarchar(10

Sql查詢本月資料的表示方法

----------------------------選出當月的記錄-------------------------------------------------------------------- select

excel只去掉的第一個字元

常用的有兩種方法實現: 例子: (1)使用MID()函式實現 在F2中輸入=MID(A2,2,LEN(A2)-1),點選確定 效果: (2)使用REPLACE()函式實現 在F2中輸入=REP

使用Sparksql計算資料庫表位數

該方法是基於Sparksql內建函式進行計算 我先上程式碼: dataset和columnName最為引數,columnName是欄位名,dataset是什麼不說了,首先通過得到columnName欄位在dataset中的下標位置,再通過withColumn在

mysql把表拆分為多

一:sql資料庫截圖 二:sql語句      SELECT id, house_no as '總稱',SUBSTR(house_no, 1, 4) AS '小區名稱',SUBSTR(house_n

mybatis。插入語句如何插入資料庫最大值(純sql實現)

<insert id="inserts"> <selectKey keyProperty="ID" ORDER="BEFORE" resultType="java.lang.I

PB自動生成的sql語句,在comment不存在時,自動使用name作為註釋的設定方法

然後在選單database->generate database 的format下面選中generate name in empty  comment(這個一定要選上這個是將name作為註釋生成的選擇。然後你

substr函式是用來擷取資料庫的一部分。

SUBSTR函式是用來擷取資料庫某一列欄位中的一部分。 在各個資料庫的函式名稱不一樣(真是蛋疼,後發明的資料庫難道不能同先發明的一樣嗎?) 複製程式碼 程式碼如下: MySQL: SUBSTR(

sql取逗號前後資料與批量修改一值

sql取逗號後的值 SELECT SUBSTRING_INDEX(欄位,",",-1) FROM 表名 sql取逗號前的值 SELECT SUBSTRING_INDEX(欄位,",",1) FROM 表名 批量修改 UPDATE 表名 SET 欄位=REPLACE(欄位,'

將一個集合類的遍歷到另一個集合

        我們在開發中經常會遇到這種情況,就是在查詢一個列表的時候,可能會需要將另一個表中的某些欄位拼接到這一個列表中,在這種時候,如果是取到列表之後,然後根據某一個欄位再去一個一個的查詢的話,就會很費資源,介面也會變的很慢。   &nbs

Mybatis需要返回的資料引數在資料表沒有對應的,自定義實體類和resultmap作為返回值型別

自定義實體類:因為需要做相關記錄的統計,而表中沒有統計欄位 public class TrafficJeevesDistrictCount { //施工top5+1 按區域 private String districtInfo; private

java8List根據去重

前言 在做一個記錄操作日誌功能,根據型別及稽核使用者名稱稱去查詢操作日誌。稽核使用者名稱稱,在這裡將資料全部查詢出來了,可是我只想要每個人的姓名,而不是出現重複人名,比如:楊平,出現了好多。如何解決此問