sql >> Databáze >  >> RDS >> Sqlserver

Najděte jedinečné hodnoty ve sloupci textu odděleného čárkami

Ignorování zřejmých problémů s designem vašeho stolu, jak je zmiňováno ve všech komentářích, a akceptování toho, že to může být na obrovském stole velmi pomalé, zde je návod, jak bych to mohl udělat.

Za prvé... vytvořil bych příkaz, který by všechny řádky proměnil v jeden velký masivní seznam oddělený čárkami.

DECLARE @tmp VarChar(max)
SET @tmp = ''
SELECT @tmp = @tmp + ColumnA + ',' FROM TableA

Pak použijte rozdělení udf s hodnotou tabulky popsané v tomto článku SO k přeměně tohoto masivního řetězce zpět na tabulku s odlišnou klauzulí, abyste zajistili, že je jedinečný.

https://stackoverflow.com/a/2837662/261997

SELECT DISTINCT * FROM dbo.Split(',', @tmp)


  1. Příklady DEGREES() v SQL Server

  2. Optimální dotaz pro načtení kumulativního součtu v MySQL

  3. Chyba Keyerror 255 při provádění pymysql.connect

  4. Resetujte součet, když je v Oracle splněna podmínka