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

複数の子テーブル行に基づく SQL Update 親テーブル フィールド

    update parent
    set longtext =
        stuff((
        select ',' + c.char + ': ' + c.val
        from child c
        where c.uid = parent.uid
        for xml path(''), type).value('.','nvarchar(max)'),1,1,'');
    

    SQLFiddle を更新しました

    <オール> <リ>

    STUFF() 先頭の ',' を削除する関数 (コンマ) 最初の特性から。

    <リ>

    XML の場合 クエリ結果から XML ドキュメントを作成します。これは SQL Server でよく知られているトリックです。列に名前が付けられていないため、要素は生成されず、(各行の) 生のテキストのみが出力され、1 つの行にまとめられます。

    コード自体はほとんど説明として残されているため、詳細に説明しようとするインターネット上の記事はほとんどありません。




    1. MySQL-Mac-エラー2002-ソケットを介してローカルに接続できません...

    2. 大規模なPHP配列のページネーション

    3. PHP-Postgresqlエラーが返された場合にクエリをロールバックするにはどうすればよいですか?

    4. JOINの問題:解決するSQL文を修正してください:ORA-01799:列がサブクエリに外部結合されていない可能性があります