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

Cách trả về dữ liệu 1 hàng đơn từ 2 bảng khác nhau với nội dung động trong sql

Nếu bạn xem tại đây:http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/

có một số kỹ thuật bạn có thể thực hiện việc này.

Thích ứng với tình huống của bạn, đây là một trong những điều có vẻ đơn giản:

    select batch_no, LEFT(booksauthors, len(booksauthors)-1) as Authors from 
(SELECT ba.Batch_no,

      ( SELECT cast(ba1.Author_no as varchar(10)) + ','

           FROM Book_Authors ba1

          WHERE ba1.Batch_no = ba.Batch_no

          ORDER BY Author_no

            FOR XML PATH('') ) AS BooksAuthors

      FROM Book_Authors ba

      GROUP BY Batch_no )A;



  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 là gì; và ĐI trong T-SQL?

  2. tại sao một SQLCLR proc lại chạy chậm hơn so với cùng một phía máy khách mã

  3. Truy vấn SQL nào nhanh hơn? Lọc theo tiêu chí Tham gia hoặc mệnh đề Where?

  4. SQL - tổng số đang chạy khi dữ liệu đã được nhóm lại

  5. Kết nối JDBC không thành công, lỗi:kết nối TCP / IP với máy chủ không thành công