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

MySQL:カンマ区切りのリストを複数の行に分割

    MySQLでは、これは以下のように実現できます

    SELECT id, length FROM vehicles WHERE id IN ( 117, 148, 126) 
    
    +---------------+
    | id  | length  |
    +---------------+
    | 117 | 25      |
    | 126 | 8       |
    | 148 | 10      |
    +---------------+
    
    SELECT id,vehicle_ids FROM load_plan_configs WHERE load_plan_configs.id =42
    
    +---------------------+
    | id  | vehicle_ids   |
    +---------------------+
    | 42  | 117, 148, 126 |
    +---------------------+
    

    カンマで区切られたVehicle_idsの長さを取得するには、以下のクエリを使用します

    Output
    
    SELECT length 
    FROM   vehicles, load_plan_configs   
    WHERE  load_plan_configs.id = 42 AND FIND_IN_SET(
           vehicles.id, load_plan_configs.vehicle_ids
    )
    
    +---------+
    | length  |
    +---------+
    | 25      |
    | 8       |
    | 10      |
    +---------+
    

    詳細については、http://amitbrothersをご覧ください。 .blogspot.in / 2014/03 / mysql-split-comma-separated-list-into.html



    1. SQL Server 2005一意の制約を作成するにはどうすればよいですか?

    2. SQL Server Management Studio(SSMS)で行番号を追加する方法-SQL Server/TSQLチュートリアルパート11

    3. SQLPlus-PL/SQLブロックから複数のファイルへのスプーリング

    4. 子テーブル挿入のトリガーを作成すると、紛らわしいエラーが返されます