Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

अल्पविराम सीमित परिणाम सेट + SQL क्वेरी

यह एक बहुत अच्छा तरीका है और बहुत अच्छी तरह से स्वीकृत हो गया है। कई दृष्टिकोण हैं और यह ब्लॉग पोस्ट बहुत कुछ describes का वर्णन करता है उनमें से।

एक दिलचस्प दृष्टिकोण जो मौजूद है, वह आपके लिए काम करने के लिए सीएलआर का उपयोग कर रहा है जो बाहरी कोड चलाने के ट्रेड-ऑफ के साथ क्वेरी की जटिलता को काफी कम कर देगा। विधानसभा में कक्षा कैसी दिख सकती है, इसका एक नमूना यहां दिया गया है।

using System;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.IO;
using Microsoft.SqlServer.Server;

[Serializable]
[SqlUserDefinedAggregate(Format.UserDefined,  MaxByteSize=8000)]
public struct strconcat : IBinarySerialize{

    private List values;

    public void Init()    {
        this.values = new List();
    }

    public void Accumulate(SqlString value)    {
        this.values.Add(value.Value);
    }

    public void Merge(strconcat value)    {
        this.values.AddRange(value.values.ToArray());
    }

    public SqlString Terminate()    {
        return new SqlString(string.Join(", ", this.values.ToArray()));
    }

    public void Read(BinaryReader r)    {
        int itemCount = r.ReadInt32();
        this.values = new List(itemCount);
        for (int i = 0; i <= itemCount - 1; i++)    {
            this.values.Add(r.ReadString());
        }
    }

    public void Write(BinaryWriter w)    {
        w.Write(this.values.Count);
        foreach (string s in this.values)      {
            w.Write(s);
        }
    }
}

और यह एक क्वेरी को कुछ इस तरह से शुद्ध करेगा।

SELECT CategoryId,
           dbo.strconcat(ProductName)
      FROM Products
     GROUP BY CategoryId ;

जो स्पष्ट रूप से थोड़ा सा सरल है। इसके लायक क्या है इसके लिए इसे लें :)

शुभ दिन!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या आपको SQL सर्वर में MONEY या DECIMAL(x,y) डेटाटाइप चुनना चाहिए?

  2. SQL सर्वर में Msg 8116 "तर्क डेटा प्रकार varchar session_context फ़ंक्शन के तर्क 1 के लिए अमान्य है" को ठीक करें

  3. एसएसआरएस 2008 कैस्केडिंग पैरामीटर

  4. Inno सेटअप का उपयोग करके MS SQL सर्वर से कैसे कनेक्ट करें?

  5. SQL सर्वर 2016 मानक संस्करण के लिए हार्डवेयर का चयन और कॉन्फ़िगर करना