2016-11-03 5 views
0

Ich bin nicht sicher, ob meine Fragen richtig sind oder nicht. Ich habe nach dem gleichen Begriff gesucht, aber scheint keine ist in der Nähe des Ergebnisses, ich habe Tabelle wie folgt Bild: table img Was ist die geeigneten Möglichkeiten, um das Ergebnis der 'Interessent_in' Spalte in einzelnen Spalte für jeden Wert mit dem Ergebnis erhalten "ja" & "nein", was wird als kommagetrennte Werte gespeichert?MySQL konvertieren Komma getrennte Ergebnis in einzelne Spalten

Ich habe versucht unten Abfrage aber kein Glück!

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; 

Prost

+0

sind "Ja" und "Nein" gespeichert in der die Spalte Interested_In? wie ich sie in den von Ihnen freigegebenen Beispieldaten nicht sehe? –

+0

@ DoaaMagdy, nein. es ist als der Wert selbst gespeichert –

+0

So zum Beispiel Wenn Sie Interested_In für den ersten Datensatz anzuzeigen, ist die gewünschte Ausgabe (Spielzeug & Spiele = Ja, Schönheit = Ja, Fernsehen/Filme/Cartoon = Ja, Einkaufen = Ja). .. Auf diese Weise wird es keine "Nein" s geben, da Sie den Wert selbst als "Ja" betrachten ... habe ich Recht oder fehlt etwas? –

Antwort

0

Also vielleicht so etwas wie:

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

Arbeitete wie Charmed @Sagi. Obwohl "End" nach der "ELSE" -Anweisung hinzugefügt werden muss. = D –

+0

Ja, du hast Recht. Kein Problem :) – sagi

+0

Diese Lösung bedeutet, dass Sie jeden Wert wie "Einkaufen, Schönheit, ..." in der Abfrage aufschreiben müssen ?? ... Was passiert, wenn andere Werte von den Benutzern zum Feld "Interest_In" hinzugefügt wurden? !! –

Verwandte Themen