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

Sử dụng COALESCE trong dạng xem SQL

CHỈNH SỬA :Câu trả lời được sửa đổi để bao gồm việc tạo chế độ xem.

/* Set up sample data */
create table Customers (
    CustomerId int,
    CustomerName VARCHAR(100)
)

create table Orders (
    CustomerId int,
    OrderName VARCHAR(100)
)

insert into Customers
    (CustomerId, CustomerName)
    select 1, 'John' union all
    select 2, 'Marry'

insert into Orders
    (CustomerId, OrderName)
    select 1, 'New Hat' union all
    select 1, 'New Book' union all
    select 1, 'New Phone'
go

/* Create the view */       
create view OrderView as    
    select c.CustomerName, x.OrderNames
        from Customers c
            cross apply (select stuff((select ',' + OrderName from Orders o where o.CustomerId = c.CustomerId for xml path('')),1,1,'') as OrderNames) x
go

/* Demo the view */
select * from OrderView
go 

/* Clean up after demo */
drop view OrderView
drop table Customers
drop table Orders
go


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ngoại lệ SQL khó chịu, có thể do một số mã được thực hiện sai

  2. Các cách để biết cách đối phó với lỗi cơ sở dữ liệu trong SQL Server

  3. SQL Server Chèn số lượng lớn có phải là giao dịch không?

  4. Làm cách nào để đặt thời gian chờ của tập lệnh SQL Server từ bên trong tập lệnh?

  5. Làm cách nào để xóa nhật ký giao dịch SQL Server?