0
にカンマ区切り値の数が多いの欄にカンマ区切りの文字列を取得し、私はこれが好きで、SQLテーブルがあります。 1 [SQLテーブル画像] 1は、効率的にMySQLの
を私は現在に次のクエリを使用しています単一カンマ区切り値取得:私はSELECT 1 n UNION ALL SELECT 2
を使用していて、それはカンマ区切り値の数が多いためにうまく機能していないとしてこれを行うことができますし、そうで取得するより良い方法があるかどう
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(name, ',', numbers.n), ',', -1) name
FROM
(SELECT 1 n UNION ALL SELECT 2
UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6) numbers INNER JOIN mytable
ON CHAR_LENGTH(name)
-CHAR_LENGTH(REPLACE(name, ',', ''))>=numbers.n-1 where SUBSTRING_INDEX(SUBSTRING_INDEX(name, ',', numbers.n), ',', -1) = 'm';
を私は思っていました複数のコンマ区切り値
3NFテーブルレイアウトを使用すると、値がカンマで区切られたリストにあり、新しいテーブルではないのはなぜですか? – Progman
これは実際にはコンマで区切られたデータを入力するフォームの一部です。したがって、データはコンマで区切られた列に保存されます。 –