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

Převedení parametru s více hodnotami na dočasnou tabulku v SQL Server Business Intelligence Development Studio

Jak bylo uvedeno, potřebujete nějaký druh rozdělené funkce pro analýzu výkonu různých metod Rozdělte řetězce správným způsobem – nebo dalším nejlepším způsobem je skvělé čtení. Jakmile budete mít svou funkci, musíte definovat parametr dotazu jako řetězec, nikoli jako tabulku:

Takže váš dotaz by se ve skutečnosti stal:

DECLARE @pEmails TABLE (EmailAddress varchar(255));

INSERT @pEmails (EmailAddress)
SELECT  Value
FROM    dbo.Split(@pEmallString);

Poté přejděte do vlastností své datové sady a místo předávání vícehodnotového parametru @pEmails do datové sady, místo toho vytvořte novou @pEmailString a nastavte hodnotu jako výraz, který by měl být:

=Join(Parameters!pEmails.Value, ",")

Tím se váš vícehodnotový parametr změní na jeden řetězec oddělený čárkou. Zdá se to docela pozpátku, že to musíte převést na oddělovací řetězec, abyste to pak rozdělili v SQL, bohužel neznám lepší způsob.



  1. Dotaz WHERE_IN se složeným klíčem?

  2. MySQL - Hledání časových přesahů

  3. Rozdíl mezi sys.columns, sys.system_columns a sys.all_columns na serveru SQL Server

  4. Dotaz aktualizace MySQL – Bude respektována podmínka 'kde' u rasy a zamykání řádků? (php, PDO, MySQL, InnoDB)