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

SQLは1つの列で複数の行を選択します

    AFAIK、そうするためのネイティブな方法はありません。ただし、を使用できます。 FOR XML このようにするには:

    SELECT 
      t1.Id,
      STUFF((
        SELECT ', ' + t2.name  
        FROM Table1 t2
        WHERE t2.ID = t1.ID
        FOR XML PATH (''))
      ,1,2,'') AS Names
    FROM Table1 t1
    GROUP BY t1.Id;
    

    SQLフィドルデモ

    これにより、次のことが可能になります:

    | ID |   NAMES |
    ----------------
    |  1 | A, B, C |
    |  2 |    D, E |
    |  3 |       F |
    


    1. テーブル内の2つの主キーが許可されないのはなぜですか?

    2. REFCURSOR型変数をJavaからOracleストアドプロシージャに送信します

    3. 一部のキーがMySQLWorkbenchforMacで正しく機能しない

    4. クエリが空のPHPエラーでした