Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използване на COALESCE в SQL изглед

РЕДАКТИРАНЕ :Модифициран отговор за включване на създаване на изглед.

/* 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. Как да използвате SQL Server T-SQL функция SUM:5 случаи на употреба

  2. Импортирайте 'xml' в Sql сървър

  3. PARSE() срещу TRY_PARSE() в SQL Server:Каква е разликата?

  4. Как да актуализирате данни от datatable в sql таблица?

  5. Трябва ли да индексирам битово поле в SQL Server?