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

サブクエリで使用するMySQLの分割列値?

    この方法でデータを保持することはお勧めできません。

    最初に頭に浮かぶのは、 http://sqlfiddle.com/#!2/です。 1dd77 / 4

    SELECT b.*, GROUP_CONCAT(a.name SEPARATOR ':')
    FROM table2 as b
    LEFT JOIN table1 as a
    on b.var = a.id 
      OR  b.var regexp(CONCAT('^',a.id,':'))
      OR  b.var regexp(CONCAT(':',a.id,':'))
      OR  b.var regexp(CONCAT(':',a.id,'$'))
     GROUP BY b.id
    

    編集1

    注文したバリアント: http://sqlfiddle.com/#!2/1dd77/38 >

    SELECT b.*, GROUP_CONCAT(a.name ORDER BY FIND_IN_SET(a.id, REPLACE(b.var,":",",")) SEPARATOR ':' )
    FROM table2 as b
    LEFT JOIN table1 as a
    on b.var = a.id 
      OR  b.var regexp(CONCAT('^',a.id,':'))
      OR  b.var regexp(CONCAT(':',a.id,':'))
      OR  b.var regexp(CONCAT(':',a.id,'$'))
     GROUP BY b.id
    


    1. テーブルを書くためのSQLステートメント?

    2. DataGripJetBrainsでのPostgreSQLデータベースまたはスキーマの切り替え

    3. 何があっても、HibernateでMySQLINSERTステートメントをバッチ処理できません

    4. Oracleuser_indexesのMySQLへの変換