sql >> Database teknologi >  >> RDS >> Sqlserver

Lagret procedure returnerer flere resultatsæt

Du vælger stort set bare to resultatsæt

SELECT * FROM @myTable1
SELECT * FROM @myTable2

Nogle værktøjer vil dog skjule nogle resultater (f.eks. vil pgAdmin kun vise det sidste), og nogle værktøjer har en form for krav for at komme til det næste resultatsæt (f.eks. .NET's IDataReaders vil ikke tillade dig at Read() fra det andet resultatsæt, indtil du kalder NextResult() ).

Rediger:

Et alternativ i dette tilfælde, da typerne af de to resultater matcher, er at kombinere dem til et enkelt resultatsæt:

SELECT field0, field1 from @myTable1
UNION
SELECT field0, field3 from @myTable2

Du kan også vælge mellem UNION ALL eller UNION DISTINCT (standarden), hvor sidstnævnte kun vil sende rækker, der ikke er gentagelser.



  1. PHP/MYSQL Hent navn baseret på et andet kriterium

  2. Array-værdier vises i række for række for enkelt id ved hjælp af Postgresql

  3. Hvordan viser man mysql blob-billede i html ved hjælp af Vuejs?

  4. nvarchar(max) vs NText