Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thủ tục đã lưu trữ trả về nhiều tập kết quả

Bạn chỉ cần chọn hai tập hợp kết quả

SELECT * FROM @myTable1
SELECT * FROM @myTable2

Tuy nhiên, một số công cụ sẽ ẩn một số kết quả (ví dụ:pgAdmin sẽ chỉ hiển thị cuối cùng) và một số công cụ có một số loại yêu cầu để có được tập kết quả tiếp theo (ví dụ:IDataReader của .NET sẽ không cho phép bạn Read () từ tập kết quả thứ hai cho đến khi bạn gọi NextResult () ).

Chỉnh sửa:

Một giải pháp thay thế trong trường hợp này, vì loại của hai kết quả khớp nhau, là kết hợp chúng thành một tập kết quả duy nhất:

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

Bạn cũng có thể chọn giữa UNION ALL hoặc UNION DISTINCT (mặc định) trong đó cái sau sẽ chỉ gửi các hàng không lặp lại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa việc thêm các tham số vào thủ tục được lưu trữ trong SQL Server?

  2. Truy vấn bảng khác nhau dựa trên một tham số

  3. Tạo một hàm phân vùng trong SQL

  4. sql chọn 3 cột và loại trừ trên hai cột

  5. Loại bỏ các ràng buộc không tên