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

Uložená procedura vrátí více sad výsledků

V podstatě stačí vybrat dvě sady výsledků

SELECT * FROM @myTable1
SELECT * FROM @myTable2

Některé nástroje však některé výsledky skryjí (např. pgAdmin zobrazí pouze poslední) a některé nástroje mají určitý druh požadavku, aby se dostaly k další sadě výsledků (např. IDataReader .NET vám nedovolí Číst() od druhé sady výsledků, dokud nezavoláte NextResult() ).

Upravit:

Alternativou v tomto případě, protože typy těchto dvou výsledků se shodují, je zkombinovat je do jediné sady výsledků:

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

Můžete si také vybrat mezi UNION ALL nebo UNION DISTINCT (výchozí nastavení), kde druhý bude odesílat pouze řádky, které se neopakují.



  1. Mysql:výpis databáze podél dat

  2. Klauzule SQL - WHERE s JOIN

  3. Porovnání hodnot data CURDATE() s úplným polem časového razítka

  4. agregát postgresql json