Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Używanie COALESCE w widoku SQL

EDYTUJ :Zmodyfikowana odpowiedź, aby uwzględnić tworzenie widoku.

/* 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. Jak skonfigurować członkostwo z bazą danych inną niż aspnetdb?

  2. Jak połączyć wartości z tym samym identyfikatorem w sql

  3. Korzystanie z tabeli przestawnej z sumami kolumn i wierszy w serwerze sql 2008

  4. Jak wypisać wszystkie daty między dwiema datami?

  5. Jak połączyć ciąg w SQL