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

Dílčí dotaz serveru SQL se sadou výsledků oddělených čárkami

Zde je trik, který jsem v minulosti používal k podobným věcem. Použijte SUBSTRING funkce.

    SELECT n.nominationID
        , SUBSTRING((
                            SELECT ',' + naf.awardFocusName
                            FROM NominationAwardFocus naf
                            JOIN AwardFocus af
                                ON naf.awardFocusID = af.awardFocusID
                            WHERE n.nominationID = naf.nominationID
                            FOR XML PATH('')

                        ), 2, 1000000)
    FROM Nomination n

Všimněte si, že 2 se používá k odříznutí úvodní čárky, kterou podvýběr přidá k první položce, a 1000000 je vybráno jako velké číslo, které znamená "celý zbytek řetězce".



  1. Řešení pro dynamické příkazy v uložených procedurách volaných ze spouštěčů

  2. Aktualizujte tabulku mysql daty z jiné tabulky

  3. MySQL vybere jeden sloupec DISTINCT s odpovídajícími dalšími sloupci

  4. Jak předat parametr s hodnotou tabulky z C# do uložené procedury Oracle