sql >> データベース >  >> RDS >> Sqlserver

SQL ビューでの COALESCE の使用

    編集 :ビューの作成を含むように回答を修正しました。

    /* 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. 反復せずにカーソル内のmysqlレコード数?

    2. クリスマスプレゼントの配達:サンタのデータモデル

    3. 連想テーブルを使用するよりも、フラグをビットマスクとして保存する方がよいのはいつですか。

    4. Mysql:latin1->utf8。文字を同等のマルチバイトに変換します