国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > XML > 正文

SQL For Xml

2024-07-21 02:49:58
字體:
來源:轉載
供稿:網友
SQL For xml

最近遇到點棘手的問題,大致如下:

  1、數據局格式:

企業名稱 排口名稱 監測時間 監測因子

a     b     c   pH值

a     b     c    氨氮

a     b     c   化學需氧量(COD)

企業名稱、排口名稱數據都一樣,需求是把企業名稱列相同的數據顯示一行,開始覺得很簡單,做著做著覺得拼接數據太煩,然后就想能不能用sql操作。

糾結了小半天沒有寫出一個適合的sql,然后去百度了(谷歌最近大姨媽了,上不去,也沒研究咋回事),然后找到了N多種方案,最后找到一個方案。寫sql函數,

sql函數的語法 大致 這樣(有問題的話,麻煩指出來,好改正......)

if exists (select * from dbo.sysobjects where id = object_id(N'dbo.函數名稱') and xtype in (N'FN', N'IF', N'TF'))--判斷該函數是否存在drop function [dbo].函數名稱GOcreate FUNCTION dbo.函數名稱()RETURNS VARCHAR(500) --必須,類型可以集資定AS BEGIN
  DECLARE @SQL NVARCHAR(500)   SELECT @SQL = (ISNULL(@SQL+',','') + 需要合并的列名) FROM 表名  --ISNULL 必須包含兩個參數   group by 分組的列名  --可選
RETURN @SQL  --最后一條必須是返回語句ENDgoselect distinct dbo.函數名稱(),列名 from 表名

然后順利解決。

之前用上面的方法,發現有點不夠簡潔,根據博友的提示,又重新整合了一個。

SELECT B.StuName ,LEFT(StuList,LEN(StuList)-1) as hobby FROM (SELECT StuName,(SELECT habbyName+',' FROM Habby   WHERE A.habbyId like'%'+cast(Id as nvarchar(5))+'%'  FOR XML PATH('')) AS StuListFROM Students A GROUP BY StuName,A.habbyId) B 

這個做法不錯。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黑龙江省| 读书| 兴仁县| 东山县| 木里| 额尔古纳市| 古蔺县| 天峨县| 定西市| 乌拉特后旗| 广东省| 台中市| 广德县| 丽江市| 顺义区| 康保县| 黄山市| 广州市| 黎川县| 山西省| 马公市| 湟源县| 遂宁市| 南涧| 岐山县| 临颍县| 邛崃市| 晋城| 凤庆县| 左权县| 堆龙德庆县| 靖安县| 达州市| 尚义县| 永平县| 通渭县| 富锦市| 乐安县| 平乐县| 遵义市| 金平|