2016-11-03 7 views
0

質問が正しいかどうかわかりません。私は同じ用語を検索してきましたが、結果の近くには何も見えませんでした。私は次のようなテーブルを持っています:table img 結果の各値の個々の列の 'Interested_in'列の結果を得る適切な方法は何ですか? "yes" & "no"はカンマ区切りの値として保存されますか?MySQLはコンマ区切りの結果を個々の列に変換します

私は以下のクエリを試しましたが、運はありませんでした。

SELECT SUBSTRING_INDEX(intereste_in,',',1) AS col1, 
    SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',2),',',-1) AS col2, 
    SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',3),',',-1) AS col3, 
    SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',4),',',-1) AS col4, 
    SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',5),',',-1) AS col5, 
    SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',6),',',-1) AS col6, 
    SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',7),',',-1) AS col7, 
    SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',8),',',-1) AS col8, 
    SUBSTRING_INDEX(SUBSTRING_INDEX(intereste_in,',',9),',',-1) AS col9, 
    SUBSTRING_INDEX(intereste_in,',',-1) AS col10 
    FROM(SELECT unifying_column, GROUP_CONCAT(DISTINCT interested_in LIMIT 10) AS intereste_in FROM tblName_test 
    GROUP BY unifying_column) AS subtable; 

乾杯

+0

は "はい" と "いいえ" 欄Interested_Inに保存されていますか?あなたが共有したサンプルデータには表示されませんので、 –

+0

@ DoaaMagdy、nope。値そのものとして保存されています –

+0

たとえば、最初のレコードのInterest_Inを表示している場合は、おもちゃ&ゲーム=はい、美容=はい、テレビ/映画/漫画=はい、ショッピング=はい)が表示されます。 ..この方法では、価値そのものを「はい」とみなしても「いいえ」はありません。私は正しいのでしょうか、何か不足していますか? –

答えて

0

は、そのため、おそらくのようなもの:

SELECT CASE WHEN t.Inserted_In LIKE '%Shopping%' THEN 'Yes' ELSE 'No' END as Shooping, 
     CASE WHEN t.Inserted_In LIKE '%Beauty%' THEN 'Yes' ELSE 'No' END as Beauty, 
     CASE WHEN t.Inserted_In LIKE '%Toys%' THEN 'Yes' ELSE 'No' END as Toys, 
     ... 
FROM ... 
+0

chared @ Sagiのように働きました。 "ELSE"ステートメントの後に "End"を追加する必要があります。 = D –

+0

そうですね。いいえ問題: – sagi

+0

この解決策は、 "ショッピング、美容、..."などの各値を書き留めなければならないことを意味します。 ...ユーザーが「Interest_In」フィールドに他の値を追加した場合はどうなりますか? –

関連する問題